一、配置文件分类
分为yml和properties两类,properties文件中的内容冗余数据比较多,yml内容体现了面向对象的思想,推荐使用yml配置
二、修改配置文件
第一章节最后一张图(项目启动时控制台打印)中能看到,服务默认使用8080作为端口,可以通过修改配置文件来修改服务端口,从下图中看到,端口被改写为6666
tip:application.yml中可配置active项,根据该配置所对应的文件后缀,激活文件加载,如图:
三、bootstrap与application
一般情况下,除了application.yml这个文件,还有bootstrap.yml文件,该文件优先于application.yml文件加载。
- bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
- application.yml 可以用来定义应用级别的,如果搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现动态替换。
使用Spring Cloud Config Server时,应在 bootstrap.yml 中指定:
- spring.application.name
- spring.cloud.config.server.git.uri
- 一些加密/解密信息
注意:一旦bootStrap.yml 被加载,则内容不会被覆盖,即便后期加载的application.yml的内容标签与bootstrap的标签一致,application 也不会覆盖bootstrap, 而application.yml 里面的内容可以动态替换。
四、自定义属性
@value (能够获取配置文件中的参数值)
配置文件:
对应的类文件
/**
* 测试类
*
* @author renjie
* @version 1.0.0
*/
@Component
public class Rj {
@Value("${rj.name}")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
获取到值:
@ConfigurationProperties (能以对象的形式获取配置文件中的内容)
类文件修改:
/**
* 测试类
*
* @author renjie
* @version 1.0.0
*/
@Component
@ConfigurationProperties(prefix = "rj")
public class Rj {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
同样也能获取到值: