Springboot 初学习
标签(空格分隔): spring mvc
1.SpringBoot 有什么好的作用
- Spring boot 并不是spring MVC的升级
- spring boot 只是让我们快速的开始构建web项目, 不用过多的去配置项目,只需要引入spring boot 默认的一些配置依赖就好。
2. 初建hello world 项目需要注意的知识点
- 系统要求, 最好是Java8,默认是java6,可在pom.xml中配置java版本。
- springboot 可用项目管理工具MAVEN搭建, 在pom.xml 中引入springboot默认的配置依赖。
- 在pom.xml 加载依赖的时候建议使用本地repository(仓库)或者ali仓库,第一次不知是翻墙下载非常的慢,影响了整个学习进度的心情。
- pom.xml 配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 项目的名称标识 -->
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 引入继承spring boot parent,再下面的依赖中就不用使用版本号 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<!-- 可以配置仓库, 也可以在maven setting.conf文件中配置镜像到ali或者本地仓库 -->
<repositorys>
<repository>
<repository>
</repositorys>
<!--配置java版本,encoding-->
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 添加依赖说明是一个web项目,内置了tomcat,log 等事件机制 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 添加了maven插件,可以用来打包等等 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
maven的仓库下载也可以在seeting.conf中配置镜像,代码如下:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
3.项目在eclipse中运行
- 首先配置相关的maven,使用本地配置文件,并建立仓库位置。
- 建立maven项目,在pom.xml 中写入所需的依赖和插件和配置信息。运行mvn install, 加载依赖。
- 在项目中建立主入口Application.java, 代码如下:
//此注解是为了说明这是一个springboot项目
@SpringBootApplication
public class Application {
public static void main( String[] args ) {
SpringApplication.run(Application.class, args);
}
}
4. 建立controller 类,代码如下:
//@RestController 相当于@Controller和@ResponseBody(返回json格式)两个注解
@RestController
public class UserController {
// 路由的解析路径,与请求方式的配置
@RequestMapping(value="/getUser", method=RequestMethod.GET)
public String getUser() {
return "this is your name";
}
// @GetMapping, 相当与@RequestionMapping(value="/getHelloWorld",method=RequestMethod.GET)
// @PostMapping, 相当与@RequestionMapping(value="/getHelloWorld", method=RequestMethod.Post)
// 还有@DeleteMapping @PutMapping
@GetMapping(value = "/getHelloWorld")
public String getHelloWord() {
return "this is hello world";
}
}
5. 运行Application,默认启用端口8080,可以进行访问了。
localhost:8080/getHelloWorld, 会返回this is hello world页面内容。
------------------
4.项目的打包与运行方式
因为加载了maven-pluin 插件,可以使用maven的打包功能,mvn install
安装所需要的jar包
4.1mvn package对项目进行打包,生成目录在target文件夹下,把项目打包 成jar包,Java -jar target/myproject-0.0.1-SNAPSHOT.jar
就可以运行项目,在项目jar目录下运行命令行。
4.2 mvn spring-boot:run
也可以运行项目。在pom.xml 文件夹下运行命令行
4.3 使用ide 等工具进行运行项目。
5. 项目的配置application.properties文件.
先说几个关于配置的注解:
@PropertySource(“classPath:dev.properties”):配置文件的来源, 暂时支持properties文件,yaml 暂时不支持
@ConfigurationProperties(“pref=’person’”):这是一个配置类,取前缀为person的属性.是相对于整个类来说的
@value: 取配置的某一个属性@value(“${name}”)文件如下:
配置文件:user.properties文件
user.username = "app"
user.age = "10"
java类获取配置属性:可以直接使用user的属性了.
@Properties("classPath:user.properties")
@ConfigurationProperties("pref='user'")
public class user {
private String username;
@Value("${user.age}") //多属性过于频繁,故在类上加@ConfigurationProperties
private Integer age;
//get set 方法
}