Springboot注解@EnableConfigurationProperties和@ConfigurationProperties关系和作用

目录

@EnableConfigurationProperties和@ConfigurationProperties关系是什么?

简介

@ConfigurationProperties

@EnableConfigurationProperties

二者之间的联系

总结


@EnableConfigurationProperties和@ConfigurationProperties关系是什么?

其实我能明白你们的疑问,大概就是这句话:

在 Spring Boot 2.2 及更高版本中,如果 @ConfigurationProperties 注解的类被声明为 Spring 组件(例如,使用 @Component 注解),则不需要显式地使用 @EnableConfigurationProperties 来激活它们。Spring Boot 会自动处理这些配置属性类。

如果不明白就向下仔细看,看懂麻烦点个赞谢谢!

简介

@EnableConfigurationProperties@ConfigurationProperties 是 Spring Boot 中用于处理外部配置的两个相关注解,它们一起工作以提供一种强大且灵活的配置管理方式。以下是每个注解的作用和它们之间的联系:

@ConfigurationProperties

  • 用途@ConfigurationProperties 注解用于将配置文件(如 application.propertiesapplication.yml)中的属性绑定到一个 Java Bean 上。这个注解通常放置在一个类定义上,并指定一个前缀,用于选择配置文件中相关的属性。

  • 类型安全:使用 @ConfigurationProperties 注解可以提供类型安全的配置。如果配置文件中的属性与 Java Bean 的属性类型不匹配,应用启动时会出错。

@ConfigurationProperties(prefix = "app")
public class AppConfig {private String name;private int version;// 标准的 getters 和 setters,这我就省略了
}

建议:

<!--配合@ConfigurationProperties注解使用,增加配置对于这个注解的提示能力-->
<dependency>
    <groupId>org.springframework.boot</groupId
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency> 

还不明白就看下两张图:

作用就是会把yml中的 李帅帅,赋值给name上 

@EnableConfigurationProperties

  • 用途@EnableConfigurationProperties 注解用于在配置类(通常是带有 @Configuration 注解的类)上启用对 @ConfigurationProperties 注解的支持。这意味着当你在配置类上添加 @EnableConfigurationProperties 注解时,Spring Boot 会处理所有带有 @ConfigurationProperties 注解的 Bean,并将外部配置绑定到这些 Bean 上。

  • 激活:它可以用来显式地注册特定的配置属性类,也可以用于自动检测和注册所有声明了 @ConfigurationProperties 的 Bean。

@Configuration
@EnableConfigurationProperties(AppConfig.class)
public class MyConfiguration {// ...
}

二者之间的联系

  • 协同工作@EnableConfigurationProperties@ConfigurationProperties 一起工作,前者激活后者的功能。@EnableConfigurationProperties 确保 Spring 容器会处理所有标记有 @ConfigurationProperties 的类,并将外部配置应用到这些类的实例上。

  • 无需显式注册:在 Spring Boot 2.2 及更高版本中,如果 @ConfigurationProperties 注解的类被声明为 Spring 组件(例如,使用 @Component 注解),则不需要显式地使用 @EnableConfigurationProperties 来激活它们。Spring Boot 会自动处理这些配置属性类。

总结

也就是说正常在2.2以后@EnableConfigurationProperties 就没什么用了对于@ConfigurationProperties 注解,因为@Compont注解已经完成他的工作,不用单独配置。当然你不用@Compont注解用这种古老方式也行。

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用矩阵特征值解决微分方程【1】

目录 一. 特征值介绍 二. 单变量常微分方程 三. 利用矩阵解决微分方程问题 四. 小结 4.1 矩阵论 4.2 特征值与特征向量内涵 4.3 应用 一. 特征值介绍 线性代数有两大基础问题&#xff1a; 如果A为对角阵的话&#xff0c;那么问题就很好解决。需要注意的是&#xff0c;矩…

Springboot药物不良反应智能监测系统源码

一、系统简介 ADR指的是药品不良反应&#xff0c;即在合格药品在正常用法用量下&#xff0c;出现与用药目的无关或意外的有害反应。ADR数据辨别引擎、药品ADR信号主动监测引擎、ADR处置行为分析引擎。ADR数据辨别引擎&#xff0c;通过主动监测患者具象临床指标&#xff0c;比如…

西门子S7-1200直接连接MySQL数据库

最近项目上有个需求&#xff0c;要把采集的数据存储到数据库中&#xff0c;当前西门子有很多方法&#xff0c;必读IDB&#xff0c;还有通过WINCC的脚本&#xff0c;第三方的软件等等&#xff0c;但是随着发展&#xff0c;有些需求希望设备直接到数据库&#xff0c;比如云端的RD…

恼人的“龙天“(䶮)--谈谈从GBK转到GB18030的特殊情况

背景 最近在做一个去O迁移适配&#xff0c;刚好也有友商在一起做&#xff0c;两边测试方式不一样。友商先遇到了一个问题&#xff0c;就是在ORACLE中某个的2字节GBK字符到迁移到友商的库中变成了4字节&#xff0c;刚好那个字段在这个字是2字节的时候&#xff0c;已经存满了&am…

国产六核CPU商显板,三屏异显,米尔基于全志D9360开发板

芯驰D9-Pro 自主可控、安全可信的高性能商显方案 采用国产CPU&#xff1a;集成了6个ARM Cortex-A551.6GHz 高性能CPU和1个ARM Cortex-R5800MHz&#xff1b; 高性能的高安全HSM安全的处理器&#xff0c;支持TRNG、AES、RSA、SHA、SM2/3/4/9&#xff1b; 它包含100GFLOPS 3D G…

屏幕截图编辑工具Snagit中文

Snagit是一款优秀的屏幕、文本和视频捕获与转换程序。它能够捕获屏幕、窗口、客户区窗口、最后一个激活的窗口或用鼠标定义的区域&#xff0c;并支持BMP、PCX、TIF、GIF或JPEG格式的保存。Snagit还具有自动缩放、颜色减少、单色转换、抖动等功能&#xff0c;并能将捕获的图像转…

[windows]一种判断exe是32位还是64位程序简单方法

不用运行&#xff0c;直接查看 exe 文件的兼容性属性。 如果是 32 位的程序&#xff0c;“简化的颜色模式”和“用 640x480 屏幕分辨率运行”是可以勾选的&#xff0c;且兼容模式最低可以调到 Windows 95。 而 64 位的程序&#xff0c;“简化的颜色模式”和“用 640 x 480 屏…

热过载继电器 WJJL1-05/2X AC220V 0.5A-5A 导轨安装 JOSEF约瑟

系列型号 WJJL1-10D/1过载保护器&#xff1b;WJJL1-50D/1过载保护器&#xff1b; WJJL1-100D/1过载保护器&#xff1b;WJJL1-300D/1过载保护器&#xff1b; WJJL1-600D/1过载保护器&#xff1b;WJJL1-1000D/1过载保护器&#xff1b; WJJL1-2000D/1过载保护器&#xff1b;WJ…

❤ Vue3 完整项目太白搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript(一)yarn 版本控制 ltb (太白)

❤ 项目搭建 一、项目信息 Vue3 完整项目搭建 Vue3PiniaVant3/ElementPlustyperscript&#xff08;一&#xff09;yarn 版本控制 项目地址&#xff1a; 二、项目搭建 &#xff08;1&#xff09;创建项目 yarn create vite <ProjectName> --template vueyarn install …

FPGA开发设计

一、概述 FPGA是可编程逻辑器件的一种&#xff0c;本质上是一种高密度可编程逻辑器件。 FPGA的灵活性高、开发周期短、并行性高、具备可重构特性&#xff0c;是一种广泛应用的半定制电路。 FPGA的原理 采用基于SRAM工艺的查位表结构&#xff08;LUT&#xff09;&#xff0c;…

大创项目推荐 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习猫狗分类 ** 该项目较为新颖&a…

C#~Winform取消窗体最大化最小化按钮

目录 取消最大化-false取消最小化-false效果 取消最大化-false 取消最小化-false 效果

彻底解决charles抓包https乱码的问题

最近做js逆向&#xff0c;听说charles比浏览器抓包更好用&#xff0c;结果发现全是乱码&#xff0c;根本没法用。 然后查询网上水文&#xff1a;全部都是装证书&#xff0c;根本没用&#xff01; 最后终于找到解决办法&#xff0c;在这里记录一下&#xff1a; 乱码的根本原因…

Cmake 中的list介绍

这个链接非常好&#xff0c;都有例子。 https://www.jianshu.com/p/89fb01752d6f

AnyText多语言文字生成与编辑模型——让AI绘图自由添加精美文字

随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。例如stable diffusion与midjourney为代表的文生图大模型。不过,当合成图片中出现文字内容时,现存的AI技术依然无法驾驭文字内容。因此,modescope提出了一种新型的文字生成方法,此方法…

矩阵的秩-

一、定义、理解 非零子式的最高阶数。 如何理解&#xff1f;什么叫做非零子式的最高阶数&#xff1f;&#xff1f;&#xff1f; 举个例子&#xff1a;有一个5阶矩阵 首先什么叫子式&#xff1f; 例如2阶子式就是&#xff0c;任取某两行某两列组成的行列式&#xff0c;就叫…

书生·浦语大模型实战营第三次课堂笔记

LLM 的局限性 知识时效性受限: 如何让LLM能够获取最新的知识 专业能力有限: 如何打造垂域大模型 定制化成本高: 如何打造个人专属的LLM应用 RAG:检索增强生成&#xff0c; 核心思想&#xff1a;给大模型外挂一个知识库&#xff0c;对于用户的提问&#xff0c;会首先从知识库中…

零基础入门,轻松制作仿真翻页电子书

​随着科技的进步&#xff0c;电子书已经成为越来越多人的选择。与传统纸质书籍相比&#xff0c;电子书具有便携性、可搜索性、可分享性等优势。然而&#xff0c;制作电子书并非易事。许多人都因为缺乏相关知识和技能而望而却步。我给大家提供了一些实用的方法哦&#xff0c;可…

字体包大小缩小的软件

Fontmin - 字体子集化方案https://ecomfe.github.io/fontmin/#app

openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态

文章目录 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态195.1 分析查询语句运行状态195.1.1 问题现象195.1.2 处理办法 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态 195.1 分析查询语句运行状态…