一、创建一个springboot工程
添加依赖,编写启动类,
二、使用@Component注解让@ConfigurationProperties注解生效,从而完成配置文件与java Bean的数据绑定
1、配置文件
zs.name=张三
zs.age=14
2、配置类
@Component @ConfigurationProperties(prefix = "zs") @Data public class ConfigurationBean { private String name; private Integer age; }
如果一个类只配置了 @ConfigurationProperties 注解,而没有使用 @Component 注解将该类加入到 IOC 容器中,那么它就不能完成配置文件和 Java Bean 的数据绑定。
3、编写controller测试是否绑定
@RestController public class HelloController { @Autowired private ConfigurationBean config; @GetMapping("/config") private String testConfigurationProperties(){ System.out.println(config); return "SUCCESS!!!"; } }
浏览器访问:http://localhost:8080/config,控制台打印
ConfigurationBean(name=张三, age=14)
说明配置文件与配置了的数据已经绑定了。
注意:上面的配置类是通过@Component注解讲配置类加入IOC容器,从而使@ConfigurationProperties注解生效。下面我们使用@EnableAutoConfigurationProperties注解来使@ConfigurationProperties注解生效,即将配置类加入IOC容器。
三、使用@EnableAutoConfigurationProperties注解来让@ConfigurationProperties注解生效,从而完成配置文件与java Bean的数据绑定
1、在启动类中加@EnableAutoConfigurationProperties注解
@SpringBootApplication @EnableConfigurationProperties(ConfigurationBean.class) public class MySpringBootApplication { public static void main(String[] args) { SpringApplication.run(MySpringBootApplication.class); } }
2、配置类去掉@Conponent注解
@ConfigurationProperties(prefix = "zs") @Data public class ConfigurationBean { private String name; private Integer age; }
3、再次进行测试
浏览器访问:ConfigurationBean(name=张三, age=14),控制台打印
ConfigurationBean(name=张三, age=14)
说明使用@EnableAutoConfigurationProperties后,@ConfigurationProperties注解生效。