彻底弄懂SpringBoot配置项的优先级,不再有配置不生效的问题
创作时间:
作者:
@小白创作中心
彻底弄懂SpringBoot配置项的优先级,不再有配置不生效的问题
引用
CSDN
1.
https://blog.csdn.net/zfj321/article/details/144406161
Spring Boot的配置项优先级机制是开发过程中经常遇到的问题。本文详细介绍了不同配置来源的优先级顺序,帮助开发者理解Spring Boot配置项的加载机制,避免配置不生效的问题。
下表中各种配置的优先级,序号越小优先级越高。
优先级越高的意思就是:Spring按照序号的顺序,由小到大到各种源头查找配置项,找到了,就不继续找后面的源了。
举例说明:
当spring.profiles.active=dev时候,
源代码resources目录下有两个配置文件:application.properties 和 application-dev.properties
按照下表规则:
application-dev.properties 优先级为7
application.properties 优先级为9
application-dev.properties 和 application.properties 同时配置了jdbc相关配置,那么生效的是 application-dev.properties
优先级 | 配置项说明 | 使用说明 |
|---|---|---|
1 | java启动命令行参数 | java -jar xxx.jar --key=value |
2 | 在J2EE容器里面配配置 | J2EE 容器属于古老过时技术,使用复杂,后面再专题介绍 |
3 | java 系统属性 (System.getProperties()) | java -Dkey=value -jar your-application.jar 注意点: -Dkey=value 等号左右不能有空格 |
4 | 操作系统环境变量 | 大家经常配置系统环境变量,不做解释 |
5 | Spring 内置随机变量 | 主要测试场景,比如你想生成一个int随机数,直接用即可: @Value("${random.int}") private int random; 如果你的启动命令行也配置了 random.int,那么启动命令行优先级高 java -jar xxx.jar --random.int=100 |
6 | jar包外部 application-{profile}.properties | java -jar your-springboot-app.jar --spring.config.location=file:/config/application-dev.properties |
7 | jar包内部 application-{profile}.properties | 项目源代码src/main/resources对应的配置文件,会自动打包到jar里面 |
8 | jar包外部 application.properties | 和6类似,只是文件名是固定的 |
9 | jar包内部 application.properties | 和7类似,只是文件名是固定的 |
10 | @PropertySource annotations on your @Configuration classes | 需要自己实现配置项获取逻辑,spring预留的接口,比如apollo配置服务,这种中间件都是通过这个接口实现从远程服务器加载配置项的 |
11 | SpringApplication.setDefaultProperties | 调用spring接口代码里面硬编码 |
需要在J2EE容器里面配置,以Tomcat为例,需要在tomcat 的Server.xml Context.xml 中配置JNDI, 然后使用的地方jndi-lookup , JNDI是比较古老的技术,现在基本上废弃了。
Web.xml 中查找,从容器中查找变量,将变量暴漏给当前应用, 当前应用就直接可以使用了。
热门推荐
新能源“三电”成年检必检项目 业内推动车电分离模式创新
浙江中医药大学滨江学院2024年专业排名出炉!
《海底小纵队·中国之旅2》带你探秘徽文化
2024年全国药学专业排名:百所高校详细榜单出炉
冬日打卡青岩古镇:感受六百年古镇的宁静与美食
青岩古镇:600年古建的秘密你了解吗?
“电子身份证”应该逐步全面推广使用
旅途贵宾:飞机航班退改规定详解,助力无忧出行
掌握幽默技巧,成为社交达人!
你的幽默感,能帮你交到多少朋友?
职场幽默感:如何成为办公室里的开心果?
自治区人民医院推荐:正确服药指南
“每日三次”到底怎么算?90%的人都搞错了!
重组胶原蛋白制剂抗皮肤衰老功效的研究
心理疏导的基本方法有哪些?揭秘心灵疗愈的六大神奇方法!
戒烟对冠心病PCI术后康复的重要性
戒烟期间吃啥最有效?专家推荐这三种!
解密吸烟成瘾:从神经机制到干预新方法
向日葵高产秘籍:甘葵1号密植技术大揭秘!
可以收藏,中医学非全日制研究生招生院校清单(附学制)
向日葵光合作用的秘密:高效背后的真相揭秘!
别再订错啦!向日葵和太阳花的终极区别指南
梵高《向日葵》再登拍卖会,你猜能拍出多少?
世界之窗:深圳必打卡的全球缩影
费雯·丽主演《汉密尔顿夫人》,揭秘绝代佳人传奇人生
费雯丽演绎艾玛·汉密尔顿,丘吉尔最爱的经典爱情片
费雯丽主演《汉密尔顿夫人》,重现绝代佳人风采
多大岁数可以报考保安员证?报考条件及流程详解
摄影让世界“看见”丽水 | 一座山城如何吸引全球聚焦?
初中生必学的热门IT技能