一、注解的作用: @ConfigurationProperties注解的作用就是获取我们配置的参数值,这些参数一般配置在application.properties或者application.yml中。 二、使@ConfigurationProperties生效的几种方式 1.使用在配置类上,使用@Configuration或者@Component注解,让component scan扫描到。 2.在java配置类中,使用@Bean返回被@Configuratio...
这样的好处是将配置数据与JOPO进行转换,能够管理一个类别的所有配置信息,一次性加载,便于操作 由上图可知,@Target({ ElementType.TYPE, ElementType.METHOD })ConfigurationProperties注解可用在类上和方法上(必须是配置类中的标注了@Bean注解的方法)。接下来我将用代码来演示@ConfigurationProperties的两种用途。演示项目的...
首先创建一个类,并通过@ConfigurationProperties获取配置,注意此处没用@Component,所以该配置类不会被spring @componentScan扫描到。 该类通过@Component @EnableConfigurationProperties(UserConfig04.class)使得获或配置信息得类生效 运行方式同上。 配置方式四: 通过类方法加@Bean的方式使获取文件的类生效 结果方式同上: ...
1.@Configuration 此注解的用义是让一个类成为一个配置类,它与 @Bean 注解一起使用(一般用在类中的方法上面),可以用于生成一系列的 Bean .它们是用来简单基于 xml 配置 Bean 的注解。可以这样说,一个类上面 @Configuration 就相当于一个 定义 很多Bean 的 xml 文件。 2.@ConfigurationProperties 此注解的用义...
See Also 中给我们推荐了ConfigurationPropertiesBindingPostProcessor,EnableConfigurationProperties两个类,EnableConfigurationProperties先放到一边,因为后面的文章中会详解EnableXX框架的实现原理,这里就先略过。那么重点来看看ConfigurationPropertiesBindingPostProcessor,光看类名是不是很亲切?不知上篇文章中讲的BeanPostProcess...
发现@ConfigurationProperties 注解属性 prefix 的值和 RedisProperties 类的属性值与配置文件中的配置项是一致的,所以 @ConfigurationProperties 注解是关键,下面学习一下该注解。 @ConfigurationProperties 注解源码如下: /*** Annotation for externalized configuration. Add this to a class definition or a* {@code ...
我们可以看出org.springframework.boot.context.properties.ConfigurationPropertiesBean#create(String name, Object instance, Class<?> type, Method factory)最终创建了这样一个ConfigurationPropertiesBean。 它的name是mailConfigProperties,目前还没有赋值,注解属性是ignoreInvalidFields=false, ignoreUnknownFields=true, pref...
II. ConfigurationProperties 详解 1. 配置绑定 假定我们现在自定义一个功能模块,里面有一些我们自定义的参数,支持通过 yaml 配置文件的方式注入 首先我们可以先定义一个配置类BindConfig @Data@ConfigurationProperties(prefix="hhui.bind")publicclassBindConfig{privateStringname;privateIntegerage;privateList<String>list...
我们可以使用@Value注解或着使用 SpringEnvironmentbean 访问这些属性,是这种注入配置方式有时显得很笨重。我们将使用更安全的方式(@ConfigurationProperties)来获取这些属性 @ConfigurationProperties的基本用法非常简单:我们为每个要捕获的外部属性提供一个带有字段的类。请注意以下几点: ...
首先我们需要添加Spring Boot依赖: org.springframework.boot spring-boot-starter-parent 一个简单的例子 @ConfigurationProperties需要和@Configuration配合使用,我们通常在一个POJO里面进行配置: @Data @Configuration @ConfigurationProperties(prefix = "mail")