ConfigurationProperties注解主要用来把properties配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。如果只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的

如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入。
测试发现 @ConfigurationProperties 与 @EnableConfigurationProperties 关系特别大。

1:写法一

1:写一个Car实体类

类上加上

@Component
@ConfigurationProperties(prefix = "mycar")

@ConfigurationProperties注解可以把application.properties文件转化为bean使用@Component注解把该bean注入到IOC容器中。

如果一个类只配置了 @ConfigurationProperties 注解,而没有使用 @Component 注解将该类加入到 IOC 容器中,那么它就不能完成 xxx.properties 配置文件和 Java Bean 的数据绑定

mycar是在如下application.properties中配置的

//只有在容器中的组件,才会拥有springboot的强大的功能
@Component
@ConfigurationProperties(prefix = "mycar")
public class Car {private String brand;private Integer price;public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public Integer getPrice() {return price;}public void setPrice(Integer price) {this.price = price;}
}

2:在application.properties配置

mycar.brand=BBA
mycar.price=100

mycar就是Car实体类上

ConfigurationProperties(prefix = "mycar")的

brand和price就是属性名

3:写一个Controller类

@RequestMapping("/web/")
@RestController
public class CarController {@Autowiredprivate Car car;@PostMapping("/test")public Car test1(){return car;}
}

4:用postman进行访问,看到有返回,能读取到配置文件中的值

2:写法二

1:把@Component注解注视掉了,表示不往容器中注册了

2:写一个

SpringConfig配置文件

在EnableConfigurationProperties中引入car类

EnableConfigurationProperties只是声明了属性绑定

3:再次访问,有返回

@EnableConfigurationProperties 注解和@ConfigurationProperties注解实现配置绑定相关推荐

  1. Spring Boot 关于 @EnableConfigurationProperties 注解 —— 使用 @ConfigurationProperties 注解的类生效。

    先说作用: @EnableConfigurationProperties注解的作用是:使用 @ConfigurationProperties 注解的类生效. 说明: 如果一个配置类只配置@Config ...

  2. [SpringBoot2]容器功能_底层注解配置绑定_@Configuration@Import@Conditional@ImportResource

    @Configuration&@Bean 告诉SpringBoot这是一个配置类==配置文件 #############################Configuration使用示例### ...

  3. @ConfigurationProperties注解使用

    1.基本简介 @ConfigurationProperties注解用于自动配置绑定,可以将application.properties配置中的值注入到bean对象上. 该注解使用必须将对象注入到IOC ...

  4. SpringBoot底层注解-@ConfigurationProperties配置绑定

    如何使用Java读取到properties文件中的内容,并且把它封装到JavaBean中,以供随时使用: public class getProperties {public static void ...

  5. 从配置Druid,学习@ConfigurationProperties注解方法

    约定大于配置 我们知道Springboot的思想就是约定大于配置的思想,所以很多地方都是JavaConfig的模式: JavaConfig就是使用注释来描述Bean配置的组件.JavaConfig 是 ...

  6. SpringBoot中通过ConfigurationProperties注解的方式读取application.yml中配置的属性值

    场景 在SpringBoot后台项目中,某些固定的属性需要配置在配置文件application.yml中. 比如上传到服务器的文件路径. 然后在其他业务代码中比如上传文件接口中需要或者到配置的这个属性 ...

  7. 在Spring Boot中使用 @ConfigurationProperties 注解

    @ConfigurationProperties根据类型校验和管理application中的bean. Spring Boot 使用一些松的规则来绑定属性到@ConfigurationProperti ...

  8. @Value@PropertySource@ConfigurationProperties注解使用

    使用配置文件注入属性 Spring Boot 默认的配置文件src/main/java/resources/application.properties或者src/main/java/resource ...

  9. @configurationproperties注解的使用_徒手使用SpringBoot自定义Starter启动器

    前言 在使用SpringBoot框架时,SpringBoot 最强大的功能就是把我们常用的场景抽取封装成了一个个starter,将其称之为场景启动器.搭建项目时,通过引入SpringBoot为我提供的 ...

最新文章

  1. php模拟post上传图片,php模拟post上传图片解决方法
  2. python期末考试题及答案翻译-[译]Python面试中8个必考问题
  3. 推荐一款最好的服务器备份软件
  4. boost--线程同步
  5. nginx 禁止通过IP,未绑定域名访问服务器
  6. sqlserver学习日记之一
  7. 如何用原型体现你的专业度?
  8. 解决IDEA每次打开新的maven项目都需要重新配置maven home的问题
  9. 计算机网络---HTTP状态码
  10. python中numpy函数fft_如何在PyTorch中正确使用Numpy的FFT函数?
  11. 什么?print 函数还可以打印彩色围棋局面?
  12. redux-saga使用
  13. linux中date命令设置系统时间的方法-转
  14. docker 镜像源_前端 Docker 镜像体积优化
  15. Axure8.0AxureRP8实战手册
  16. 战旗助手服务器代码,炉石传说酒馆战旗助手
  17. 设计模式之访问者模式(C# / JavaScript / PHP / Java / Python 演示代码)
  18. python直接使用大括号生成_Python 解析式、生成器
  19. 七牛云获取token中的bucket是什么?
  20. excel自动增加序号

热门文章

  1. ios CGRec用法
  2. Unicorn - W3C 统一验证工具
  3. select函数分析
  4. linux sock_raw原始套接字编程
  5. ABB机器人的错误处理
  6. 做演员是圆梦 做生意学会面对现实
  7. 学习笔记(48):Python实战编程-grid布局
  8. Pytorch基础(四)—— 卷积层
  9. C# 事件详解附实例分析
  10. CLion for mac安装配置