springBoot应用有多种途径去设置属性
- 命令行参数
- java:com/env里的JNDI属性
- jvm系统属性
- 操作系统环境变量
- 应用程序之外的application.properties或application.yml
- 打包在应用程序内的application.properties或application.yml
- 通过 @propertySource标注的属性源
- 默认属性
这个列表按照优先级排序,也就说任何高优先级属性都会覆盖低优先级的相同属性。 application.propers和application.yml文件能够放在以下四个位置。
- 外置:在相对于应用程序运行的目录的/config子目录里
- 外置:在程序的运行目录里
- 内置:在config包内
- 内置:在ClassPath根目录
同样这个列表按照优先级排序,也就是说/config子目录里的application.properties会覆盖ClassPath里的application.properties, 此外如果你在同一优先级同时存在application.properties和application.yml 则.yml里的属性会覆盖.porperties里的属性