Spring Boot自动配置自带了很多配置类,每一个都能运用
在你的应用程序里。它们都使用了Spring 4.0的条件化配置,可以在运行时判断这个配置是该被运用,还是该被忽略。
spring boot 自定义配置文件可以有多种途径:
1:命令行参数
2: java:comp/env里的JNDI属性
3:JVM系统属性
4: 操作系统环境变量
5: 随机生成的带random.*前缀的属性(在设置其他属性时,可以引用它们,比如${random.
long})
6:应用程序以外的application.properties或者appliaction.yml文件
7: 打包在应用程序内的application.properties或者appliaction.yml文件
8:通过@PropertySource标注的属性源
9:默认属性
这个列表按照优先级排序,也就是说,任何高优先级属性源里设置的属相都会覆盖低优先级的相同属性。例如:命令行参数会覆盖其它属性源里的属性。
application.properties 和application.yml 文件能放在以下四个位置。
(1):外置,在相对于应用程序运行目录的/config子目录中
(2):外置,在应用程序运行的目录里
(3):内置,在config包内
(4):内置,在Classpath根目录
同样,这个列表按照优先级排序。也就是说,/config子目录里的application.properties会覆盖应用程序Classpath里的application.properties中的相同属性。
此外,如果你在同一优先级位置同时有application.properties和application.yml,那么application. yml里的属性会覆盖application.properties里的属性。