当前位置: 首页 > article >正文

[Spring]属性加载优先级

    Spring中,XML配置文件里面,各个属性源的加载顺序有一定先后顺序。

    我们在使用spring时,一些参数配置通常不会直接写在spring的bean的XML配置文件里面。在我们使用${参数名},时,如果系统环境变量中有同名的name时,可能会被Spring优先使用。

    比如Windows,系统环境变量中通常会有USERNAME,如果我们在给数据库驱动配置相关参数时,把数据库的用户名变量的变量名定义成 username ,会导致其被系统环境变量覆盖:

     我们写一个测试类,通过断点查看我们插入进去的值:

 

    可以看到我们的数据库用户名没有被正确赋值。最直接的解决方法更改properties文件中的变量名,其他方法在本文后面讲解。 

属性加载优先级

1.命令行参数,比如–server.port=8080。

2.JVM系统属性。

3.系统环境属性。

4.其他通过<context>系列标签引入的自定义配置文件(例如.properties和yml,而其中properties又先于yml)

4.通过@Configuration注解类上的@PropertySource注解引入的配置文件


http://www.kler.cn/a/582955.html

相关文章:

  • Android电量与流量优化
  • Ubuntu 24.04安装Python 2方法
  • 本地开发MCP Server+Cline配置使用
  • 分享最佳ChatGPT替代11个方案(2025)
  • 32单片机——KEY
  • Linux第19节 --- 用户缓冲区和文件系统
  • Hi3516DV300 移植Qt
  • PyTorch深度学习框架进阶学习计划 - 第21天:自然语言处理基础
  • 尚硅谷爬虫note16
  • 计算机操作系统(二) 操作系统的发展过程
  • 从学习ts的三斜线指令到项目中声明类型的最佳实践
  • winform中chart控件解决显示大量曲线数据卡顿方法——删旧添新法
  • linux下的离线升级替换脚本参考
  • ThinkPHP6用户登录系统的全过程
  • WPS二次开发系列:Android 第三方应用如何获取WPS端内文档
  • 计算机网络——DHCP
  • 蓝桥杯软件比赛_蓝桥杯软件比赛:软考前的实战演练场
  • 编写Dockerfile制作Redis镜像,生成镜像名为redis:v1.1,并推送到私有仓库。
  • 面试之《vue keep-alive原理》
  • Redis存数据就像存钱:RDB定期存款 vs AOF实时记账