SpringBoot - @EnableConfigurationProperties注解使用详解

Spring Boot配置属性绑定:@EnableConfigurationProperties详解 在Spring Boot应用开发中,配置管理是连接代码与运行环境的关键环节。通过类型安全的属性绑定机制,开发者可以将外部配置(如application.properties或环境变量)自动映射到Java对象,实现配置的集中管理和强类型访问。@EnableConfigurationProperties作为Spring Boot的核心注解,其底层通过ConfigurationPropertiesBindingPostProcessor等组件实现属性解析与绑定,支持嵌套对象、集合类型等复杂数据结构。相比传统的@V 阅读详情
AI摘要

本文介绍了@EnableConfigurationProperties注解的作用,它用于将@ConfigurationProperties注解的类注入到Spring容器中,以便实现配置信息的绑定。通过一个示例展示了如何创建一个属性类绑定配置信息,并在配置类中启用属性文件的绑定功能。此外,还展示了如何在配置类中创建一个@Bean,根据配置信息初始化对象。

@EnableConfigurationProperties注解的作用是什么?

将标注了@ConfigurationProperties注解的类注入到Spring容器中。该注解是用来开启对@ConfigurationProperties注解的支持。也就是@EnableConfigurationProperties注解告诉Spring容器能支持@ConfigurationProperties注解。
如果不添加该注解,@ConfigurationProperties注解的特性就失效了吗?不是的,大家可以参考:@ConfigurationProperties注解使用详解的使用。

@EnableConfigurationProperties注解如何使用?

一般情况下会定义两个文件,一个用于绑定application.xml中的配置信息,一个用于定义配置类。
①. 定义一个属性类用于绑定配置信息:

@Data
@ConfigurationProperties(prefix = "spring.drools")
public class DroolsProperties {
    // 规则文件和决策表的路径(多个目录使用逗号分割)
    private String path;
    // 更新缓存的轮询周期 - 单位:秒(默认30秒)
    private Long update;
    // 模式: stream 或 cloud(默认stream模式)
    private String mode;
    // 是否开启监听器:true = 开, false = 关闭(默认开启)
    private boolean listener;
    // 是否自动更新:true = 开, false = 关闭(默认开启)
    private boolean autoUpdate;
    // 是否开启DRL的语法检查: true = 开, false = 关闭(默认开启)
    private boolean verify;
    // 是否开启REDIS的缓存: true = 开, false = 关闭(默认开启)
    private boolean useRedis;
}

②. 定义一个配置类用于开启文件属性的绑定功能:

// 配置类
@Configuration
// 开启属性文件绑定功能
@EnableConfigurationProperties(DroolsProperties.class)
public class DroolsConfig {
    @Bean
    @ConditionalOnMissingBean(name = "kieTemplate")
    public KieTemplate kieTemplate(DroolsProperties droolsProperties) {
        KieTemplate kieTemplate = new KieTemplate();
        kieTemplate.setPath(droolsProperties.getPath());
        kieTemplate.setMode(droolsProperties.getMode());
        if (droolsProperties.isAutoUpdate()) {
            // 启用自动更新
            kieTemplate.setUpdate(droolsProperties.getUpdate());
        } else {
            // 关闭自动更新
            kieTemplate.setUpdate(999999L);
        }
        kieTemplate.setListener(droolsProperties.isListener());
        kieTemplate.setVerify(droolsProperties.isVerify());
        kieTemplate.setUseRedis(droolsProperties.isUseRedis());
        return kieTemplate;
    }
}
基于OpenCV C++实现工业级形状模板匹配:仿Halcon SBM算法全解析 在计算机视觉和工业自动化领域,模板匹配是一项基础且关键的技术,用于在图像中定位已知目标。其核心原理是通过计算图像区域与预设模板之间的相似度来识别目标位置。传统的基于灰度值的匹配方法对光照变化敏感,鲁棒性不足。而基于边缘梯度方向的形状匹配技术,通过计算轮廓梯度方向的一致性进行相似度度量,从根本上提升了对光照变化的鲁棒性,并支持目标的旋转与缩放,技术价值显著。这项技术广泛应用于工业视觉检测、机器人引导、PCB定位等对精度和稳定性要求极高的场景。本文聚焦于使用开源OpenCV库,从底层仿照Halcon的Shape 阅读详情

相关推荐

LLM and Embedding区别

LLM(大语言模型)和 Embedding(嵌入)是自然语言处理(NLP)中的两个核心概念,它们的核心区别在于。Embedding 计算向量。

u010674101的专栏 1876

@EnableConfigurationProperties注解作用

使用前言: 在spring开发过程中我们常使用到@ConfigurationProperties注解,通常是用来将properties和yml配置文件属性转化为bean对象使用。 application.yml: 跟配置文件相对应的自定义类: 以上步骤可以将配置文件属性注册到IOC容器中,在获取这些bean之前,首先需要使用@EnableConfigurationPropertie...

张小凡 4万+

车辆TBOX科普 第64次 TBOX系统集成测试与文档编写

汽车电子开发中,TBOX作为核心网关面临独特挑战:需处理多网络接口、满足严苛安全标准并确保10年以上可靠性。项目文档是开发流程的核心资产,必须与编码同步更新,构建从需求到测试的完整闭环。系统集成测试需分层进行,结合硬件在环测试和自动化工具,并严格管理缺陷。文档与测试深度协同,通过追溯矩阵确保每个需求都被覆盖验证。最终交付不仅是软件包,更是一套包含完整验证报告的信任体系。这种严谨的工程纪律,是将代码转化为车规级可靠产品的关键保障。

IT深耕十余载,大道之简 1331

@EnableConfigurationProperties 的作用

先说作用: @EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。 说明: 如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfiguratio...

AlbenXie的博客 2万+

无人机VS地面机器人:用AirSim和Gazebo玩转ROS2仿真的5个实战场景对比

本文深度对比了ROS2生态中两大仿真工具AirSim和Gazebo在无人机与地面机器人应用中的表现。通过电力巡检、仓库调度、SLAM建图等5个实战场景,分析了两者在视觉保真度、物理精度、开发效率等方面的差异,并提供了跨平台协作的实用技巧,帮助开发者根据项目需求选择合适的仿真工具。

flink9streamer的博客 900

CLIP-Count代码配置以及踩坑记录

CLIP-Count代码配置以及踩坑记录

学术菜鸡 1011

@EnableConfigurationProperties注解

目录 1.概述 2.测试 2.1 使用@EnableConfigurationProperties进行注册 2.2 使用 @Component 注册 3.项目中的使用场景 1.概述 @EnableConfigurationProperties注解的作用是:使 使用 @ConfigurationProperties 注解的类生效。 如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component或者实现了@Component的其他注解,那..

weixin_38972910的博客 1万+

Matlab2018a崩溃解决的办法No sandbox or build area path

Matlab 2018a (No sandbox or build area path)出现崩溃后需要使用terminal进行如下操作: cd /home/david/MySoft/MATLAB/R2018a/bin/glnxa64 (你的matlab路径) mkdir exclude mv libfreetype* exclude/ 执行后图片如下: 如果你用的Windows系统,请手动按照上面步骤剔除了dll。 Matlab 2018a (No sandbox or build are

David Xiao 1万+

说说@EnableConfigurationProperties那点事

(1)我们知道这种方式是spring在启动的时候来扫描该类上有@Component的时候,才会把它变成bean对象,又因为是在SDK(第三方jar包),因此需要在spring.factories中EnableAutoConfiguration加上该配置类路径,使其可以被spring扫描到。使用@ConfigurationProperties的时候,把配置类的属性与yml配置文件绑定起来的时候,还需要加上@Component注解才能绑定并注入IOC容器中,若不加上@Component,则会无效。

weixin_42329623的博客 7728

YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation)

本文系统介绍了YOLO26中的知识蒸馏技术,包含五大核心方法:基于响应的蒸馏(学习分类概率)、基于特征的蒸馏(学习中间层表示)、基于关系的蒸馏(学习特征关联)、通道维度蒸馏(CWD)和前景背景分离蒸馏(FGD)。文章深入解析了每种方法的数学原理与实现细节,并提出动态训练策略,包括一致性匹配和蒸馏权重退火机制。通过教师模型向学生模型传递"暗知识",在保持模型轻量化的同时逼近大模型性能。配套代码支持模块化组合不同蒸馏方法,为YOLO26模型压缩提供了一套完整的解决方案。

weixin_51988935的博客 275

Arduino、ESP32驱动AS3935数字闪电传感器(闪电传感器)

闪电传感器采用AMS独具创新的AS3935数字闪电传感芯片与Coilcraft的MA5532-AE专用天线,可在室内或室外,安全地检测方圆40km范围内发生闪电的距离,闪电相对强度与统计闪电发生次数。

不脱发的程序猿 2017

Spring Boot 配置属性绑定详解:@ConfigurationProperties 使用指南

摘要:@ConfigurationProperties是SpringBoot提供的配置绑定注解,可将配置文件属性自动映射到Java类。使用时需指定prefix前缀,支持简单类型和复杂结构。注意单独使用该注解无效,必须配合@Component或@EnableConfigurationProperties注册为Bean。两种正确使用方式:1)类上加@Component和@ConfigurationProperties;2)使用@EnableConfigurationProperties显式注册。该功能实现了类型

qfhsol的博客 311

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Springboot 之 @EnableConfigurationProperties 注解

用springboot开发的过程中,我们会用到**@ConfigurationProperties注解,主要是用来把properties或者yml配置文件转化为bean来使用的,而@EnableConfigurationProperties**注解的作用是@ConfigurationProperties注解生效。

weixin_45131680的博客 368

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Day93.SpringBoot: 配置、使用、自动配置原理、自定义启动器

springboot

a111042555的博客 462

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SpringBoot自动配置原理:

让自定义配置生效,@EnableConfigurationProperties({RedisProperties.class}) ,好处就是标识 RedisProperties 为容器中的组件,这样在配置文件类上就不用加组件注解,这样子当没有配置类的时候,就不会加载配置文件类。这行代码就是去获取元注解的属性值,也就是。其次是 xxxAware 这些类,这些类的特点就是如果实现这类接口,就回去实现 setxxx 的方法,也就是能让你在代码中拿到容器中的xxx 然后使用 ,这里这个类需要使用到。

chengxuweishao的博客 509

Spring Boot 中 `@EnableConfigurationProperties` 注解

@EnableConfigurationProperties 是 Spring Boot 实现外部化配置的核心注解,通过与 @ConfigurationProperties 配合,能够高效地将配置文件中的属性绑定到 Java 对象,提升代码的可维护性和解耦性。其核心价值在于简化配置管理,避免硬编码,同时支持灵活的多环境配置策略。

小李同学的博客 2079

@EnableConfigurationProperties和@ConfigurationProperties用法及注意事项

@EnableConfigurationProperties中引用的类一定要加@ConfigurationProperties这个注解,并且不需要再添加@Component注解,不然会导致被@ConfigurationProperties注解的类,在容器中实例化了2个bean对象:1、被@Component实例化注入到容器中,2、被@EnableConfigurationProperties实例化注入到容器中,此时如果我们使用@Aware获取Ltbus类的bean对象,会导致报错...

yuec1998的博客 2111

SpringBoot配置绑定到Bean的几种方式

在启动类或者配置类加@ConfigurationPropertiesScan(basePackages="com.xxx.xxx.xxx")//@Configuration 用@Configuration也可以 也会被Spring管理。还有一种方式可以去掉Bean上面的 @Component或者@Configuration。还有一种用法,也可以去掉Bean上面的@Component或者@Configuration。@Component//类必须被Spring管理。演示类中含有对象的赋值。

tiantiantbtb的博客 312

Spring Boot自动配置原理与实战应用解析

Spring Boot自动配置机制通过条件化装配和约定优于配置的原则,极大简化了Java应用的开发配置工作。其核心原理基于@Conditional注解族实现智能Bean注册,配合META-INF/spring.factories的SPI机制完成组件发现。这种设计使得开发者只需引入相应starter依赖,即可自动获得数据库连接、缓存管理等企业级功能。在电商平台等分布式系统中,自动配置技术能快速集成Redis、RabbitMQ等中间件,通过@ConfigurationProperties实现配置参数的热更新。掌

weixin_33146151的博客 218

关于@EnableConfigurationProperties注解的使用

@EnableConfigurationProperties的作用是把springboot配置文件中的值与我们的xxxProperties.java的属性进行绑定,需要配合@ConfigurationProperties使用 首先我想说的是,不使用@EnableConfigurationProperties能否进行属性绑定呢?答案是肯定的!我们只需要给xxxProperties.java加上@Component注解,把它放到容器中,即可实现属性绑定 测试实例如下: @Component @D...

wanghuiwei888的博客 7357

springboot中@EnableConfigurationProperties注解

EnableConfigurationProperties注解用于显式地启用对@ConfigurationProperties注解类的支持。它告诉Spring Boot框架,在应用程序中存在使用@ConfigurationProperties注解的类,需要自动加载并绑定配置文件(如application.properties或application.yml)中的属性到这些类的字段上。

GDFHGFHGFH的博客 1162

@EnableConfigurationProperties 注解的使用

先说作用: @EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。 说明: 用springboot开发的过程中,我们会用到@ConfigurationProperties注解,主要是用来把properties或者yml配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。 如果只配置@Configura

qq_41216025的博客 2346

springboot——@EnableConfigurationProperties使用与分析

一、前言 用springboot开发的过程中,我们会用到@ConfigurationProperties注解,主要是用来把properties或者yml配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。 如果只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的,当然在@ConfigurationProperties加入

IT- 研究者 1万+

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

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

A乐神的博客 1030

springboot 注解说明(@EnableConfigurationProperties)

springboot注解说明(@EnableConfgurationProperties) *********************** 相关类与注解 @EnableConfigurationProperties

weixin_43931625的博客 1544

重学SpringBoot3-@EnableConfigurationProperties注解

通过使用注解,Spring Boot 应用可以非常方便地将外部配置映射到强类型的 Java Beans 上,从而使配置更加易于管理和维护。这种方法不仅提高了代码的清晰度和安全性,还降低了错误配置的风险。在 Spring Boot 3 中,这一机制仍然是管理和使用配置属性的推荐方式。

CoderJia的学习之路 2422
上一篇: SpringBoot - @Component注解使用详解
下一篇: SpringBoot Failed to configure a DataSource: ‘url‘ attribute is not specified
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值