Spring Boot项目中获取配置文件属性值的两种方法
创作时间:
作者:
@小白创作中心
Spring Boot项目中获取配置文件属性值的两种方法
引用
CSDN
1.
https://blog.csdn.net/xcw19961104/article/details/136875034
在Spring Boot项目中,为了更灵活地配置,我们将大量的参数,例如项目名、各种文件路径等,配置在application.properties或application.yml文件中。通过@ConfigurationProperties或者@Value注解,我们可以方便地获取这些参数值。
一、利用@Value注解进行配置属性注入
使用方法
@Value("${}")
示例代码
缺点
这种方法的属性值获取,要在每次使用时都要注入一次,显得略显笨重。下面介绍利用@ConfigurationProperties注解构建配置类的方法,效果可能会更好。
二、利用@ConfigurationProperties注解构建配置类
使用方法
@ConfigurationProperties(prefix = "ruoyi")表示加载配置文件中以"ruoyi"为前缀的属性,并将其值绑定注入到配置类的属性中。@Component注解将其声明为一个bean,交由Spring管理,这样便可在其他模块进行bean的注入,从而获取属性值。对于配置类的静态属性,则可不用注入bean,直接通过类获取。这里注意必须提供set与get方法,且set()方法必须是非静态的,否则配置文件的值无法绑定进去。我们利用IDEA自动生成set与get方法时往往会出现这个问题。
示例代码
注意事项
- 前缀定义了哪些外部属性将绑定到配置类的字段上
- 类的属性名称必须与外部属性的名称相匹配
- 类的字段必须有公共setter方法
两种方法的对比
特征 | @Value | @ConfigurationProperties |
|---|---|---|
使用场景 | 适用于单个属性的注入 | 适用于多个相关属性的集中管理 |
代码量 | 每个属性都需要单独注入 | 只需要一个配置类即可管理多个属性 |
可维护性 | 属性分散在各个类中,维护困难 | 属性集中管理,便于维护 |
性能 | 每次使用时都需要解析表达式 | 属性值在启动时解析,运行时直接获取 |
适用性 | 适用于少量属性的简单项目 | 适用于复杂项目,特别是需要大量配置属性的场景 |
通过对比可以看出,@ConfigurationProperties更适合于管理大量配置属性的场景,而@Value则适用于少量属性的简单项目。
热门推荐
商品存在缺陷由谁负责?该怎么负责
运动不息,膝盖无忧:科学锻炼,守护你的运动生命线
怎样判断是不是皮脂腺囊肿
车厘子适合什么地方种植
眼周围发黑怎么调理
高考生定位院校专业全攻略,这些因素不可忽略!
每年有超过百万人死于肝硬化,出现几类症状,及时筛查
Excel中被保护单元格密码忘记了怎么办?
维权应注意时限保留证据
易经预测真的能预知未来吗?
上海长宁一小区内网球场变多功能健身广场,居民纷纷拍手叫好
结核性脑膜炎的症状表现
3个动作缓解膝关节疼痛,让双腿更有劲!
世界最冷大城雅库茨克:30万人如何在零下70度的寒冷中生存?
喝茶对脸上长痘的影响及正确饮用方法:全方位解答痘痘与茶饮关系疑问
打印机USB端口设置指南(轻松设置USB打印机端口)
想从事医美行业的医生和护士需要满足哪些条件?考什么证书?
增值税专用发票怎么抵扣成本
留学新趋势:为什么越来越多的学生选择国际化学校
鱼缸造景完全指南:从迷你鹦鹉到大型景观的布置技巧
财务报表分析指南:如何掌握核心指标?
镇江至张家界自助游:如何选择合适的交通工具
低位企稳的含义是什么?低位企稳现象对投资者有何启示?
财务报表变化趋势解析:如何精准把握企业发展方向?
变更管理启动:从获批到完成的完整指南
海内外需求共振,算力或迎修复机会!多重利好催化,创AI超额表现
前置胎盘专业知识讲座
Abaqus多物理场仿真介绍
3.6亿干眼人,能做的不止“花钱买眼泪”
秒懂!轻松掌握三角形高度计算方法