springboot-项目属性配置
springboot如何新建一个项目参考博客:https://www.cnblogs.com/junyang/p/8151802.html
在springboot默认生成的配置文件的格式是:application.properties 它的文件格式为:
server.port=8081
server.context-path=/xidian
但是有更简单的配置方式,新建application.yml文件,文件格式为:
server:
port: 8080
context-path=/xidian
只需要保留这种简单的文件格式就行。
可以在application.yml配置文件中自己新建一个变量:
server:
port: 8080
context-path: /girl
grade: F
然后可以通过注解方式注入到属性变量中:
@RestController
public class HelloController {
@Value("${grade}")
private String grade;
@RequestMapping(value="/hello", method = RequestMethod.GET)
public String say(){
return grade;
}
}
但是这种方式需要将每一个变量通过@Value注解的方式注入进来,有没有更简便的方法呢?
可以新建一个属性类GirlProperties.java:
//申明这个bean
@Component
@ConfigurationProperties(prefix="girl")//获取前缀是girl的配置 public class GirlProperties { private String grade; private Integer age; public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
在application.yml中的配置如下:
girl:
grade: F
age: 18
controller类代码:
@RestController
public class HelloController {
//注入GirlProperties这个bean
@Autowired
private GirlProperties girlProperties;
@RequestMapping(value="/hello", method = RequestMethod.GET)
public Integer say(){
return girlProperties.getAge();
}
}
我们通常会遇到开发环境和生产环境配置不一致的情况,作为一名有优秀的程序员,我们不能讲我们的时间浪费在频繁的改配置上,所以我们建立两套配置文件:
Application-dev.yml
server:
port: 8080
context-path: /girl
girl:
grade: F
age: 20
Application-prod.yml
server:
port: 8080
context-path: /girl
girl:
grade: B
age: 18
而在Application.yml配置:
spring:
profiles:
active: dev #我们使用dev的配置,当需要更改为prod配置时只需要在这个地方换个参数即可。