一 配置文件存放路径,优先级
优先级(从高到低)
编号 | 配置 |
---|---|
1 | file:./config/ (当前项目路径config目录下) |
2 | file:./ (当前项目路径下) |
3 | classpath:/config/ (类路径config目录下) |
4 | classpath:/ (类路径config下) |
二 配置文件名称,优先级
优先级(从高到低)
编号 | 配置 |
---|---|
1 | bootstrap.properties |
2 | bootstrap.yml |
3 | application.properties |
4 | application.yml |
三 外部,优先级
优先级(从高到低)
1. 命令行参数
所有的配置都可以在命令行上进行指定 ,多个配置用空格分开;
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc
2. 来自java:comp/env的JNDI属性
3. Java系统属性(System.getProperties())
4. 操作系统环境变量
5. RandomValuePropertySource配置的random.*属性值
在工程jar包的层级目录下建立配置文件如: 那么以参数的形式启动工程:java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar ,加载配置文件,会按以下规则, 由jar包外向jar包内进行寻找;
优先加载带profile
6. jar 包外部,配置文件
- application-{profile}.properties
- application.yml
7. jar 包内部,配置文件
- application-{profile}.properties
- application.yml
8. jar包内部,配置文件
- application.properties
- application.yml
9. 注解配置
@Configuration注解类上的@PropertySource
10. 属性配置
通过 SpringApplication.setDefaultProperties 指定的默认属性
参考:
- https://www.cnblogs.com/softidea/p/5759180.html
- https://www.cnblogs.com/jonrain0625/p/11462672.html