趣文网 > 作文大全

SpringBoot配置文件的加载优先级顺序

2020-12-02 04:05:01
相关推荐

01

application.properties加载

Spring Boot启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件

file:/config/file:/classpath:/config/classpath:/以上顺序按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级的配置内容会覆盖低优先级配置的内容,其中配置文件中的内容是互补配置,即

存在相同的配置内容,高优先级的内容会覆盖低优先级的内容存在不同的内容的时候,高优先级和低优先级的配置内容取并集我们也可以通过spring.config.location来改变默认的配置,具体做法就是项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定配置文件和默认加载的配置文件共同起作用称为互补配置

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties

02

外部配置的加载顺序

Spring Boot也可以从以下位置加载配置: 优先级从高到低顺序,高优先级覆盖低优先级,如有不同内容,高优先级和低优先级形成互补配置

命令行参数命令行参数的优先级是最高的,假定内部配置的最高优先级配置文件配置的启动端口号是8081,启动命令行参数如以下设置:

java -jar spring-boot-02-config-02.0.0.1-SNAPSHOT.jar --server.port=8089

那么启动的端口就改成了8089,命令行可以把项目的所有的配置选项全部都改掉

来自java:comp/env的JNDI属性java系统属性(System.getProperties())操作系统环境变量RandomValuePropertySource配置的random.*属性值jar包外部的application-{profile}.properties或者application.yml(带spring.profile)配置文件jar包内部的application-{profile}.properties或者application.yml(带spring.profile)配置文件jar包外部的application.properties或者application.yml(不带spring.profile)配置文件jar包内部的application.properties或者application.yml(不带spring.profile)配置文件@Configuration注解类上的@PropertySource通过SpringApplication.setDefaultProperties指定的默认属性看了以上的配置顺序,下面来思考一个问题,如果我要配置的东西太多,而且项目已经打包,我命令行重新配置参数太麻烦,应该怎么办?

想了解更多精彩内容,快来关注计算机java编程

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

初二作文400字 写动物的英语作文80词 关于善良作文 校园生活作文800字初中 内心作文 后妈打屁屁作文 挠美女作文 关于写人的作文 我的学校200字作文 关于热爱祖国的作文 返校作文 校园打雪仗作文 四季作文300字 以爱国为主题的作文 体育课上的趣事作文 高考优秀作文记叙文 快乐的童年作文100字 传承革命精神作文 第一次挨打作文 观察向日葵的作文 感恩的作文题目唯美 小学三年级同步作文书 助人为乐作文 家书作文400字左右 永远的朋友作文500字 关于发展的作文 写老师的作文怎么写 校园的事作文 追梦作文600字 参加同学的生日作文