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

Spring Boot优雅读取配置信息 @EnableConfigurationProperties

很多时候我们需要将一些常用的配置信息比如oss等相关配置信息放到配置文件中。常用的有以下几种,相信大家比较熟悉:
1、@Value(“${property}”) 读取比较简单的配置信息:
2、@ConfigurationProperties(prefix = “property”)读取配置信息并与 bean 绑定

下面着重讲使用@ConfigurationProperties 注解方式的两种形式
那么采用@EnableConfigurationProperties 和 注入 属性类 两种方式有什么区别?

@EnableConfigurationProperties(OssProperties.class)

@Resource
private final OssProperties ossProperties;

第一种方式 @EnableConfigurationProperties
可以看到 OssProperties 不需要加注入注解,会自动注入

原理:当 @EnableConfigurationProperties(OssProperties.class) 被使用时,Spring Boot 会自动扫描并注册 OssProperties 类作为 Spring 容器中的一个 bean。这意味着 OssProperties 类中的属性将会被自动绑定到配置文件中对应的属性上。
@EnableConfigurationProperties(OssProperties.class) 专注于启用和配置 @ConfigurationProperties 绑定的支持,通常用于将配置文件中的属性绑定到 Java 类上

在这里插入图片描述
在这里插入图片描述

第二种方式 手动添加注解注入方式

在这里插入图片描述
在这里插入图片描述

总结:

如何选择,在实际应用中,如果你只是想将配置文件中的属性绑定到一个 Java 类上,并希望 Spring Boot 自动处理这一切,那么使用 @EnableConfigurationProperties 和 @ConfigurationProperties 是更好的选择。如果你需要注入一个已经存在的 bean,不论它是如何被创建的,那么使用 @Resource 或其他注入方式(如 @Autowired)可能更合适。

推荐:10分钟搞定 SpringBoot 如何优雅读取配置文件?


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

相关文章:

  • 分布式锁的实现原理
  • 多线程 03 实现方式
  • LangChain——HTML文本分割 多种文本分割
  • k8s 20版本以上,有了 CoreDNS作为域名解析服务器了,pod通过域名相互访问,需要额外配置dns条目吗
  • 【python使用kazoo连ZooKeeper基础使用】
  • 【机器学习】机器学习的基本分类-监督学习-逻辑回归(Logistic Regression)
  • 基于 Spring Boot 实现图片的服务器本地存储及前端回显
  • Linuxe包管理工具与软件安装
  • 【工具变量】上市公司企业数字化转型指数(甄红线版本,战略引领、技术驱动、环境支撑、数字化成果及应用)2011-2022年
  • ArcGIS+deck.gl矢量切片三维化表示建筑白模
  • 基于MFC实现的银行模拟系统
  • Vue项目通过Nginx部署多个
  • Linux环境下配置neo4j图数据库
  • 深度学习:完整的模型训练流程
  • Oracle 19C Data Guard 单实例1+1部署(Duplicate方式)
  • Opencv+ROS实现颜色识别应用
  • TVS/ESD,PSRR,环路稳定【2024/11/29】
  • 【目标跟踪】AntiUAV410数据集详细介绍
  • SpringBoot 架构下夕阳红公寓智能化管理系统的匠心构建
  • 杭州网世一站式网络解决方案,助力安邦护卫网络升级改造
  • 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  • 推荐学习笔记:矩阵补充和矩阵分解
  • github浏览技巧-github1s
  • 课程学习 (Curriculum Learning) 介绍及其在 DeepSpeed 框架中的应用:中英双语
  • 合规性要求对漏洞管理策略的影响
  • MySQL7 事务(一)