一、springboot配置文件加载顺序,从高到底,序号越小优先级越高
启动命令配置 优先于 环境变量配置 优先于 jar包的不同环境的配置 优先于 默认配置文件的配置 优先于 注解注入的配置 优先于 应用默认配置
通常使用jar包的外部配置+内部配置的方式:外部配置配置环境相关属性,内部配置配置通用的属性。
1、命令行传入的参数 如:java -jar --server port=8888
2、SPRING_ APPLICATION _JSON中的属性。SPRING_ APPLICATION_ JSON是以JSON格式配置在系统环境变量中的内容。
3、java:comp/env 中的JNDI属性。
4、Java 的系统属性,可以通过System. getProperties ()获得的内容。
5、操作系统的环境变量。
6、通过random. *配置的随机属性.
7、 位于当前应用jar 包之外,针对不同{profile}环境的配置文件内容,例如applicat ion-{profile} .properties或是YAML定义的配置文件。
8、 位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,例如application-{profile}. properties或是YAML定义的配置文件。
9、 位于当前应用jar包之外的application. properties和YAML配置内容。
10、位于当前应用jar包之内的application.properties和YAML配置内容。
11、在@Configuration注解修改的类中,通过@PropertySource注解定义的属性。
12、应用默认属性,使用SpringApplication. setDefaultProperties定义的内容。
二、application.properties和application.yml文件能放在以下四个位置
例子:linux服务器上部署了一个服务,目录为/app/springbootProject/####.jar /app/springbootProject/bin /app/springbootProject/config /app/springbootProject/log
三、springboot各种配置文件的加载顺序
续集。。。