目录
一、Profile功能
为了方便多环境适配,springboot简化了profile功能。
1.1 application-profile功能
1. 默认配置文件 application.yaml;任何时候都会加载
2. 指定环境配置文件 application-{env}.yaml
3. 激活指定环境(加载时,默认配置文件和环境配置文件都会被加载,优先环境配置文件。命令行可以修改配置文件中的任意配置,命令行优先)
方式一:配置文件激活
方式二:命令行激活
java -jar xxx.jar --spring.profiles.active=prod --person.name=haha
上面的例子是使用prod环境的配置文件,且里面的person.name的值改为haha
4. 默认配置与环境配置同时生效
5. 同名配置项,profile配置优先
1.2 @Profile条件装配功能
@Configuration(proxyBeanMethods = false)
@Profile("production") // 配置使用production环境的配置文件内容
public class ProductionConfiguration {
// ...
}
1.3 profile分组
https://www.cnblogs.com/didispace/p/14166388.html
二、外部化配置
2.1 外部配置源
常用:Java属性文件、YAML文件、环境变量、命令行参数;
2.2 配置文件查找位置
下面几个目录都会被视为存储配置文件的位置
- (1) classpath 根路径
- (2) classpath 根路径下config目录
- (3) jar包当前目录
- (4) jar包当前目录的config目录
- (5) /config子目录的直接子目录
2.3 配置文件加载顺序:
- 当前jar包内部的application.properties和application.yml
- 当前jar包内部的application-{profile}.properties 和 application-{profile}.yml
- 引用的外部jar包的application.properties和application.yml
- 引用的外部jar包的application-{profile}.properties 和 application-{profile}.yml
版权声明:本文为qq_29996285原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。