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则适用于少量属性的简单项目。
热门推荐
无证开锁是否违法?了解一下相关法律规定
相机无法访问存储卡的原因及解决方法
中国铝业股份有限公司:全面推进绿色低碳变革行动
全栈工程师必知:学习成本低、开发效率高的五大框架详解
李飞飞团队以极低成本训练出高性能AI模型s1,引发行业关注
提踵训练的核心要领与多重好处
怎么判定对方是不是故意开车撞我
血液透析:解读这一重要的肾脏替代治疗技术
塔罗牌逆位全面解析:从基础概念到实际应用
三国杀仁王盾与八卦阵:谁才是最佳防御选择?
改变一生的5个成长法则
以吮指烤虾,味蕾狂欢(掌握烤虾的技巧)
眼角出血怎么办最快最有效
很舒服,但是很伤眼睛的一件事,很多人都在做
上海城隍庙:历史、门票与游玩攻略
外资最新调仓!聚焦人工智能、医药、出海业务
企业保险费税前扣除常见问题解答
怎样保护膝盖及锻炼膝盖
电商时代下的3D建模模型应用与发展
Excel中将文字转化为表格的三种方法
工资条“七看一保存”,不懂可能会吃亏!
冬季“鼻炎星人”如何生存?别慌,这样做让你轻松应对
美国警察配枪:自动手枪取代左轮手枪成主流,为何左轮仍被青睐?
适合长期玩的2D手游排行榜前十名
旅行后腹泻应对与预防指南
老虎的寿命一般多少年(老虎的寿命有多久)
和同事产生矛盾后,如何主动化解符合职场礼仪
美空军与太空军利用人工智能提升军事后勤运输能力
医生提醒:杞菊地黄丸吃多了当心这些副作用
告知承诺制:优化审批服务,提高办事效率