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
则适用于少量属性的简单项目。
热门推荐
揭秘苏E车牌背后的地域文化与车辆管理
技师学院文凭和大专本科文凭究竟有哪些区别?
购买双筒望远镜的几个重要参数
会议纪要如何写才算专业?
门禁系统安装与调试&门禁系统常见故障及维修方法
开门就排队!邯郸最火的美食,你尝过哪些?
电热水器的工作原理是什么?电热水器选购
维生素B6预防妇科腹腔镜手术后恶心呕吐:一项双盲随机对照试验
五常大米:中国最好的稻米
未满18周岁可以判死刑吗
卢熠翎:青少年心理健康问题,应对策略需直击核心与创新并举
AI手机隐私保护:主体多、责任复杂、挑战大
真正的世界顶级!全国仅有这4所大学的计算机科学进入了全球前1‱
肇庆旅游攻略自由行:探索七星岩与鼎湖山的自然之旅
独自一人对抗世界,中国最后一个《皇室战争》世界赛选手
全球经济发展趋势怎么预测
深入了解LCD液晶屏的四大性能指标解析
2025年陕西西安领取失业保险金途径有哪些?
如何购买重疾险并实现性价比最大化?这种购买方式有哪些要点?
三国演义中赵云跟随刘备多年,功劳不输关张,刘备为何不重用他
佩戴西方三圣寓意:其含义、佩戴讲究与适宜性探讨
核保的具体流程有哪些内容和要求
“幻塔团队”放出的新作《异环》,会是《代号:无限大》的最大敌人吗?
建筑工程项目管理的材料管理方法与技巧
探索云南普洱茶的发源地与悠久历史:从古茶园到现代茶文化
AI文旅宣传片:从0.5到1.0,文旅宣传的新趋势
全网失信被执行人:法律框架与社会影响
三国庞统和诸葛亮谁厉害?全方位对比分析
渭南网信办举办网信大讲堂 开展AI技术发展与大模型应用知识培训
咸阳出发新疆布尔津四日游攻略:深度体验自然风光与民族文化之旅