关于@EnableConfigurationProperties 注解
先说作用:
@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。
说明:
如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入。
测试证明:
@ConfigurationProperties 与 @EnableConfigurationProperties 的关系。
@EnableConfigurationProperties 文档中解释:
当@EnableConfigurationProperties注解应用到你的@Configuration时, 任何被@ConfigurationProperties注解的beans将自动被Environment属性配置。 这种风格的配置特别适合与SpringApplication的外部YAML配置进行配合使用。
测试发现:
1.使用 @EnableConfigurationProperties 进行注册
@ConfigurationProperties(prefix = "service.properties")
public class HelloServiceProperties {private static final String SERVICE_NAME = "test-service";private String msg = SERVICE_NAME;set/get
}
@Configuration
@EnableConfigurationProperties(HelloServiceProperties.class)
@ConditionalOnClass(HelloService.class)
@ConditionalOnProperty(prefix = "hello", value = "enable", matchIfMissing = true)
public class HelloServiceAutoConfiguration {}
@RestController
public class ConfigurationPropertiesController {@Autowiredprivate HelloServiceProperties helloServiceProperties;@RequestMapping("/getObjectProperties")public Object getObjectProperties () {System.out.println(helloServiceProperties.getMsg());return myConfigTest.getProperties();}
}
自动配置设置
service.properties.name=my-test-name
service.properties.ip=192.168.1.1
service.user=kayle
service.port=8080
一切正常,但是 HelloServiceAutoConfiguration 头部不使用 @EnableConfigurationProperties,测访问报错。
2.不使用 @EnableConfigurationProperties 进行注册,使用 @Component 注册
@ConfigurationProperties(prefix = "service.properties")
@Component
public class HelloServiceProperties {private static final String SERVICE_NAME = "test-service";private String msg = SERVICE_NAME;public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}}
Controller 不变,一切正常,如果注释掉 @Component 测启动报错。
由此证明,两种方式都是将被 @ConfigurationProperties 修饰的类,加载到 Spring Env 中。
关于@EnableConfigurationProperties 注解相关推荐
- Spring Boot 关于 @EnableConfigurationProperties 注解 —— 使用 @ConfigurationProperties 注解的类生效。
先说作用: @EnableConfigurationProperties注解的作用是:使用 @ConfigurationProperties 注解的类生效. 说明: 如果一个配置类只配置@Config ...
- @EnableConfigurationProperties 注解和@ConfigurationProperties注解实现配置绑定
ConfigurationProperties注解主要用来把properties配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@Config ...
- Spring : @EnableConfigurationProperties注解
1.美图 2.概述 @EnableConfigurationProperties注解的作用是让使用@ConfigurationProperties注解的类生效.你可以通过在@EnableConfigu ...
- @EnableConfigurationProperties 注解
关于YAML与Properties文件中的key 与 JavaBean 中属性的对应关系,观测源代码 ConfigurationPropertyName.elementEquals 方法得知,有以下几 ...
- @EnableConfigurationProperties注解
目录 1.概述 2.测试 2.1 使用 @EnableConfigurationProperties 进行注册 2.2 使用 @Component 注册 3.项目中的使用场景 1.概述 @Enable ...
- 关于 @EnableConfigurationProperties 注解
先说作用: @EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效. 说明: 用springboot开发的过程 ...
- SpringBoot - @EnableConfigurationProperties注解使用详解
@EnableConfigurationProperties注解的作用是什么? 将标注了@ConfigurationProperties注解的类注入到Spring容器中.该注解是用来开启对@Confi ...
- SpringBoot之@EnableConfigurationProperties分析
我们在用SpringBoot进行项目开发的时候,基本上都使用过@ConfigurationProperties这个注解,我们在之前的文章中也说过ConfigurationPropertiesBindi ...
- SpringBoot @Value、 @ConfigurationProperties 与 @EnableConfigurationProperties 使用
文章目录 @Value 用法 @Value("#{}") @Value("${}") ConfigurationProperties 用法 使用@Compone ...
最新文章
- iOS 疑难杂症— — 收到推送显示后自动消失的问题
- stm32f4 hs 电路_三相电路分析
- 12/100. Diameter of Binary Tree
- C++11之std::async使用介绍
- java set去重复元素_java List去掉重复元素的几种方式
- -%3erow mysql_MySQL查询优化
- Jsoup 数据修改
- String常用方法大全(深入源码层面分析)
- x内存满白苹果解决_iphone12pro max无限白苹果重启怎么办
- React 组件间通讯
- caffe---验证码识别
- [链接汇总]在用Matlab解微分方程时比较有用
- 谷粒学院(十九)统计分析模块 | 定时任务 | echarts
- 分享133个ASP源码,总有一款适合您
- 南阳oj入门题-蛇形填数
- Spring @Value读取配置文件
- 理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器
- @EnableConfigurationProperties注解
- orgchart组织机构图
- 手握N段大厂实习经历的人生有多爽?
热门文章
- File “h5py\h5.pyx“, line 1, in init h5py.h5 ImportError: DLL load failed whi
- CPU load高但CPU usage低问题排查
- 计算机网络之实验四---WEB 服务器配置与 HTTP 分析
- windows蓝屏错误小全
- php 元旦祝福,元旦祝福语 2019迎接2020句子
- MC7812BTG详细参数介绍
- 图说大型网站的技术架构
- 旧金山州立大学计算机科学专业,旧金山州立大学
- 笔记本电脑的计算机配置在哪里可以找到,如何查看笔记本电脑的配置?笔记本配置查看方法...
- 200亿元输血求生,中芯国际希望几何?