SpringBoot简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
创建第一个SpringBoot项目
这里使用的是IDEA编译工具,首先点击file –> new project –>Spring Initializr,sdk选择自己电脑上的jre,下面写上https://start.spring.io/
next 就创建好spring boot项目了。
项目属性的配置:
- 系统默认生成的resource文件夹中的application.properties文件 里面可以配置项目的端口号,以及项目的路径
server.port=8080
server.context-path=/girl
- 自己编写的resource文件夹中的application.yml文件 同样的配置文件,书写方式却不相同,这种方式比较简单推荐使用
server:
port: 8080
context-path: /girl - 并且可以在配置文件中设置变量
例如
fontSize: 16
在controller中可以使用
@Value(“ fontSize”)privateIntegerfontSize;设置变量的值。在配置文件中不用管变量的类型,只需要在使用的时候生命变量的类型就可以了。也可以在配置文件中使用之前配置好的属性。如:content:“fontSize: {fontSize}” 在controller中直接使用content即可
- 系统默认生成的resource文件夹中的application.properties文件 里面可以配置项目的端口号,以及项目的路径
每一次都用value注解有些麻烦,在这里我们可以创建一个bean文件用来为这些变量映射好
首先在配置文件中需要给属性添加一个前缀。
girl:
cupSize: B
age: 18
创建一个 javabean文件这个文件首先要加上 @ConfigurationProperties(prefix = “girl”)注解和@Component注解
并且为下面写好的属性添加get set方法
@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {
private String cupSize;
private Integer age;
public void setCupSize(String cupSize) {
this.cupSize = cupSize;
}
public void setAge(Integer age) {
this.age = age;
}
public String getCupSize() {
return cupSize;
}
public Integer getAge() {
return age;
}
}
在controller中使用的时候
@RestController
public class HelloControler {
@Autowired
private GirlProperties girlProperties;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String say(){
return girlProperties.getCupSize();
}
}
就可以了
多环境配置项目
在做项目的时候,会有生产环境和运行环境 他们的端口可能不一样
这个时候我们就需要频繁的修改配置文件中的端口号,这就造成了大量时间的浪费,我们可以编写多个配置文件来使用两个环境,
可以在resource下创建application-dev.yml、application-prod.yml以及默认的application.yml三个文件 其中application-dev.yml、application-prod.yml这两个文件中端口号和变量的值不一样,application.yml这个文件中设置当前需要运行的端口号
spring:
profiles:
active: dev
这里就是从idea中运行的默认端口为dev的端口
还有一种方法运行项目
在命令行中首先跳转到项目的路径下,
编译项目mvn install
跑项目 java -jar target/girl-0.0.1-SNAPSHOT.jar –spring.profiles.active=prod这里用的就是prod的端口
当着两个一起运行的时候就可以同时访问不一样的端口了。