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

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.lryc.cn/news/492126.html

相关文章:

  • 鸿蒙多线程开发——Sendable对象的序列化与冻结操作
  • nodepad配置c/c++ cmd快速打开创建项目文件
  • 【C++】读取数量不定的输入数据
  • ESC字符背后的故事(27 <> 033 | x1B ?)
  • 基于NXP LS1043 OpenWRT智能交通边缘网关设计
  • 绪论相关题目
  • 中国科学院大学研究生学术英语读写教程 Unit7 Materials Science TextA 原文和翻译
  • centos系列安装服务器时分区
  • vue的理解
  • 111. UE5 GAS RPG 实现角色技能和场景状态保存到存档
  • 抖音短视频矩阵源代码部署搭建流程
  • leetcode - LRU缓存
  • 计算机网络八股整理(一)
  • 了解 CSS position 属性
  • 数据结构 【二叉树(上)】
  • C++11(中)
  • 下拉选择器,选择框,支持单选、多选、筛选和清空功能,支持vue2和vue3
  • HTTP中GET和POST的区别是什么?
  • day04 企业级Linux安装及远程连接知识实践
  • jvm核心组件介绍
  • uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)
  • Pgsql:json字段查询与更新
  • 类的加载机制
  • 基于vite创建的react18项目的单元测试
  • fiddler抓包工具与requests库构建自动化报告
  • Docker login 报证书存储错误的解决办法
  • 【自动化Selenium】Python 网页自动化测试脚本(上)
  • 什么是MyBatis?
  • TortoiseGit 将本地已有仓库推送到远程
  • 腾讯云OCR车牌识别实践:从图片上传到车牌识别