首页 > 其他分享 >springboot的@EnableAutoConfigurationProperties注解

springboot的@EnableAutoConfigurationProperties注解

时间:2022-11-22 11:57:43浏览次数:48  
标签:springboot private EnableAutoConfigurationProperties ConfigurationProperties Con

一、创建一个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注解生效。

 

标签:springboot,private,EnableAutoConfigurationProperties,ConfigurationProperties,Con
From: https://www.cnblogs.com/zwh0910/p/16914624.html

相关文章