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则适用于少量属性的简单项目。
热门推荐
中国石油集团公司技能专家刘辉:以己微光,铸就国之荣光
“肿瘤标志物”升高,离癌症还有多远?
从《哪吒之魔童闹海》看中国动漫的叙事手法与情感共鸣
肝脏切除后需要注意什么
养老投资攻略:如何运用“配”和“定”策略
松茸的化学魅力与健康奇迹
公司注销后商标该如何处理
牡丹的栽培与养护:从形态特征到病虫害防治的全面指南
遗产之一:探究家族历史与传统传承
久坐后起身眩晕和眼前发黑是何原因
古稀之年:智慧、亲情与人生新篇章的深刻反思
培养小孩阅读能力的方法介绍
告别无效阅读!3个技巧让读书笔记带你“飞升”
垫排球的技巧
数字化时代的信息管理:网盘搜索、资源整合与安卓应用
电话手表密码忘记了怎么解锁?快速解锁的步骤是什么?
天堂寨旅游攻略:大别山自然奇观与历史文化深度探秘 🌄
李白《慈姥竹》:野竹攒石生,含烟映江岛。
如何在战略规划中使用AI:应用案例与示例
一双手教你掌握合理饮食量,告别“吃多少”的困扰
木刻之光:安玉仁的黑白艺术世界
脓胸的临床表现:从脓液颜色看致病菌类型
春分又称“春祭”,牢记老黄历7习俗
急性肠胃炎的病因及护理方法
五种冲突类型及其应对策略
皱皮黄杨的养殖方法和注意事项
皱皮黄杨的养殖方法和注意事项
“大夫”怎么念?古今读音及不同语境下的发音详解!
电热水器哪一种好用又安全?家居选购指南
东莞人力资源待遇怎么样?