SpringBoot小知识(4):高级配置知识与bean的绑定
一、@EnableConfigurationProperties
@ConfigurationProperties注解在我们之前讲过,他是从配置中读取参数封装给实体类的一个注解。

那么@EnableConfigurationProperties是个啥呢?
@EnableConfigurationProperties 是 Spring Framework 中用于启用基于配置文件的属性绑定功能的注解。它通常与 @ConfigurationProperties 注解一起使用,用于将配置文件中的属性自动绑定到 Java 类的字段上,从而使得你可以在应用程序中方便地使用配置文件中的属性。
- @ConfigurationProperties: 用于标注一个 Java 类,该类的字段会自动绑定到外部配置文件(如 application.properties 或 application.yml)中的相关配置项。通过这种方式,配置项可以被注入到 Spring 容器中。
- @EnableConfigurationProperties: 用于启用对 @ConfigurationProperties 的支持。如果你的配置类是普通的 POJO,并且你希望 Spring 能够自动加载这些配置类,你需要使用 @EnableConfigurationProperties。
也就是说*ConfigurationProperties 里面的参数是配置文件中的参数名,而EnableConfigurationProperties的参数是你要封装的那个类的.class。

读取的文件

使用了@EnableConfigurationProperties,我们就不用在原本的class那里把它注册为Bean,可以统一的在使用的地方注册为Bean类方便我们管理。而且EnableConfigurationProperties可以用{}来包含多个class。
@Configuration
@EnableConfigurationProperties({AppProperties.class, DatabaseProperties.class})
public class Config {// 其他配置类
}
二、宽松绑定
@ConfigurationProperties绑定属性支持属性名宽松绑定
YML:

绑定类:

我们可以看到,即使是有-这种的拼接,也可以读取到内容,实际上在YML文件中,
_、-、大小写之类的都不影响绑定到实体类中的属性里面,实体类的大小写与配置文件中不是一模一样的也能绑定。
相关文章:
SpringBoot小知识(4):高级配置知识与bean的绑定
一、EnableConfigurationProperties ConfigurationProperties注解在我们之前讲过,他是从配置中读取参数封装给实体类的一个注解。 那么EnableConfigurationProperties是个啥呢? EnableConfigurationProperties 是 Spring Framework 中用于启用基于配置文…...
Python毕业设计选题:基于大数据的淘宝电子产品数据分析的设计与实现-django+spark+spider
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 电子产品管理 系统管理 数据可视化分析看板展示 摘要 本…...
Lua面向对象实现
Lua中的面向对象是通过表(table)来模拟类实现的,通过setmetatable(table,metatable)方法,将一个表设置为当前表的元表,之后在调用当前表没有的方法或者键时,会再查询元表中的方法和键,以此来实现…...
OpenCV的圆形检测HoughCircles
HoughCircles 函数是 OpenCV 库中用于在灰度图像中检测圆的函数,它基于霍夫变换(Hough Transform)的一种变体——梯度霍夫变换(HOUGH_GRADIENT)函数原型如下: void HoughCircles( InputArray image, OutputArray circles,int method, double dp, double minDist,double …...
iOS视图控制器的生命周期及各阶段的作用
iOS视图控制器(UIViewController)的生命周期是指从它被创建到最终被销毁的过程中所经历的一系列阶段。每个阶段都有其特定的作用和执行时机,这些阶段和作用对于开发高效、稳定的iOS应用至关重要。以下是iOS视图控制器的生命周期及其各个阶段的…...
四轮阿克曼(前轮转向、后轮驱动)车子仿真控制
目录 写在前面的话调用 libgazebo_ros_ackermann_drive.so 插件属性介绍补充 steering_wheel_joint 配置键盘控制命令 结果演示 写在前面的话 这里增加一个四轮阿克曼(前轮转向、后轮驱动)车子仿真控制的版本,使用的事gazebo的插件 参考资料…...
Blender均匀放缩模型
解决办法: 首先选中模型,按下“s”键,如下图所示,此时模型根据鼠标的移动放缩 或者在按下“s”后输入数值,再按回车键Enter,模型会根据你该数值进行均匀放缩 指定放大2倍结果——...
Python基于 Opencv+wxPython 的人脸识别上课考勤系统,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
【AI工具】强大的AI编辑器Cursor详细使用教程
目录 一、下载安装与注册 二、内置模型与配置 三、常用快捷键 四、项目开发与问答 五、注意事项与技巧 参考资料 近日,由四名麻省理工学院(MIT)本科生共同创立的Anysphere公司宣布,其开发的AI代码编辑器Cursor在成立短短两年…...
DApp开发与APP开发的五大区别
随着比特币与区块链技术的不断发展,DApp应用会逐渐成为主流。与APPAPP相比,DApp有许多不同之处,尤其是在架构、数据存储、用户隐私等方面。本文将通过五大关键点,深入探讨DApp开发与APP开发之间的主要区别。 1. 后端架构ÿ…...
哪款云手机适合多开?常用云手机功能对比
在全球化和数字化时代,云手机以其独特的灵活性和高效性,成为多账号运营和数字营销的热门工具。云手机能够解决传统设备管理的诸多痛点,例如账号关联、硬件成本高等问题。本文将为您推荐多款优质云手机品牌,帮助您选择最适合的工具…...
Python几种常用数据结构(重制版)
一、列表 [List] 定义:有序可重复的数据集合。示例:my_list [element1, element2, element3]增加元素方法: append():在列表末尾增加单个元素(列表特有方法),例如 my_list.append(element)。e…...
C++ 游戏开发:开启游戏世界的编程之旅(2)
三、游戏输入处理 (一)键盘输入处理 在游戏中,玩家通过键盘输入来控制角色的行动。我们需要在游戏循环中不断检测键盘事件,并根据不同的按键按下或松开状态来执行相应的操作。例如,在 SDL 中,可以这样处理…...
用 Python 做数据分析需要掌握哪些基础?
用 Python 做数据分析,需要掌握以下几个基础方面: 1. Python 编程基础 语法基础:变量、数据类型(如字符串、整数、浮点数、布尔值)、条件语句(if-else)、循环(for、while࿰…...
UE5 像素流进行内网https证书创建
确定证书需求 内网 HTTPS 通信通常需要以下内容: 自签名证书(适用于内网环境,不需要通过公开的证书颁发机构 CA) 或者通过内部的企业 CA 签发的证书(更安全)。 生成自签名证书 使用工具(如 Ope…...
Envoy-istio
最近研究envoy-istio,发现这个博客,觉得很不错,这里记录一下 envoy-istio介绍 envoy-istio - 随笔分类 - yaowx - 博客园 envoy部分七:envoy的http流量管理基础 envoy部分六:envoy的集群管理 envoy部分五ÿ…...
CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)
附件 calculate.html <!DOCTYPE html> <html lang"en"> <head><!-- 设置字符编码为 UTF-8,支持多语言字符集 --><meta charset"UTF-8"><!-- 设置响应式视图,确保页面在不同设备上自适应显示 --&…...
【数据结构与算法】排序算法(上)——插入排序与选择排序
文章目录 一、常见的排序算法二、插入排序2.1、直接插入排序2.2、希尔排序( 缩小增量排序 ) 三、选择排序3.1、直接选择排序3.2、堆排序3.2.1、堆排序的代码实现 一、常见的排序算法 常见排序算法中有四大排序算法,第一是插入排序,二是选择排序ÿ…...
Linux操作系统性能优化
Linux操作系统性能优化 1. TCP连接出现大量ESTABLISHED连接解决方法 1. TCP连接出现大量ESTABLISHED连接解决方法 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于…...
iOS与Windows间传文件
想用数据线从 windows 手提电脑传文件入 iPhone,有点迂回。 参考 [1],要在 windows 装 Apple Devices。装完、打开、插线之后会检测到手机,界面: 点左侧栏「文件」,不是就直接可以传,而是要通过某个应用传…...
1-1 从零实现邻接矩阵:构建无向图的核心步骤与实战解析
1. 邻接矩阵与无向图:从概念到代码的桥梁 第一次接触图论时,我完全被那些抽象的概念搞晕了。直到有一天,导师在黑板上画了个简单的社交网络图:"你看,每个人是一个点,好友关系是连线,这不就…...
Java Web 入门学习笔记:Servlet 请求响应与登录功能实战
一、开篇:今日学习核心与目标学习背景:Java Web 入门阶段核心 ——Servlet 与 HTTP 请求响应交互学习目标:掌握 HttpServletRequest/HttpServletResponse 核心用法实现「登录表单提交→Servlet 验证→页面重定向」完整流程解决实操中 404、中…...
旺季仓容紧张跨境卖家如何提前规划备货与入仓
决胜销售旺季:跨境卖家的备货与入仓战略指南随着全球电商购物节日益临近,无论是年末的“黑色星期五”、圣诞季,还是区域性的大促活动,一个共同的挑战悄然浮现:仓库容量告急。对于跨境卖家而言,旺季不仅是销…...
ArcGIS Pro用户必看:解决CAD转SHP后坐标系丢失的完整配置流程(附Python脚本)
ArcGIS Pro用户必看:解决CAD转SHP后坐标系丢失的完整配置流程(附Python脚本) 当你从CAD图纸转换到SHP格式时,最令人头疼的问题莫过于坐标系信息的丢失。想象一下,你精心准备的规划图纸在GIS软件中变成了一堆无法定位的…...
告别while循环轮询!用STM32 HAL库定时器中断实现按键扫描(附状态机源码)
STM32高效按键处理实战:定时器中断与状态机的完美结合 在嵌入式开发中,按键处理看似简单却暗藏玄机。传统while循环轮询方式不仅占用CPU资源,还容易导致代码结构混乱。本文将带你用STM32 HAL库的定时器中断和状态机,实现一套高效、…...
快马平台十分钟速成:用AI大模型构建你的第一个智能客服对话Agent原型
最近在尝试用AI大模型构建智能客服对话系统,发现InsCode(快马)平台特别适合快速验证这类原型。花十分钟就能搭建出具备基础功能的对话agent,和大家分享下具体实现思路: 界面设计 先用HTML搭建基础框架,主要包含三个部分࿱…...
Harness:AI Agent 走向生产级的关键基础设施
摘要随着大语言模型能力持续增强,AI Agent 正从概念验证和演示场景,逐步进入复杂任务交付与生产系统落地阶段。然而,在长周期、高复杂度任务中,Agent 仍普遍面临连贯性不足、自我评估失真、结果不可控等问题。实践表明,…...
Phi-4-Reasoning-Vision镜像使用指南:双卡负载均衡与CUDA内存优化技巧
Phi-4-Reasoning-Vision镜像使用指南:双卡负载均衡与CUDA内存优化技巧 1. 工具概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡4090环境优化设计。这个工具能够充分发挥15B大模型的深度推…...
OpenClaw技能扩展指南:为Phi-3-mini-128k-instruct添加Markdown转换能力
OpenClaw技能扩展指南:为Phi-3-mini-128k-instruct添加Markdown转换能力 1. 为什么需要文档处理技能? 上周我整理技术文档时遇到了一个典型问题:收到同事发来的PDF技术白皮书,需要提取关键章节并转换为Markdown格式存档。手动操…...
惠普tank 2606,开机报错 ER-08 ,加了碳粉还是报错ER08,黄灯闪烁成像鼓接近寿命期限,别被维修店坑了,这个软件专门维修这个错误,软件运行一下2分钟搞好。
下载地址:链接:https://pan.baidu.com/s/1J7PN4m4fbIzku9DqBFg_nw?pwd0000 提取码:0000 备用下载:下载 惠普tank 2606系列,tank1005系列,打印机提示错误代码 er-08 ,加了粉还是报错er08,提示没粉,闪黄灯…...
