展开

关键词

@ConfigurationProperties

有时候有这样的情景,想把配置文件的信息,读取并自动封装成实体类,这样在代码里使用就方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类首先配置文件 还可以把@ConfigurationProperties直接定义在@bean注解上,这时bean实体类就不用@Component和@ConfigurationProperties了@RestController

46760

@ConfigurationProperties报错

(Ctrl+F1)Inspection info: Verifies @ConfigurationProperties setup. New in 2018.3 ?

43010
  • 广告
    关闭

    云加社区有奖调研

    参与社区用户调研,赢腾讯定制礼

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    @ConfigurationProperties的作用

    我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类 : admin password : kyjufskifas2jsfs remoteAddress : 192.168.1.1 这时候我们可以定义一个实体类在装载配置文件信息 @Component@ConfigurationProperties return password; } public void setPassword(String password) { this.password = password; } } 我们还可以把@ConfigurationProperties 还可以直接定义在@bean的注解上,这是bean实体类就不用@Component和@ConfigurationProperties了 @SpringBootApplicationpublic class @Bean @ConfigurationProperties(prefix = connection) public ConnectionSettings connectionSettings(){ return

    89640

    @ConfigurationProperties的作用

    我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类首先在配置文件里面 username : admin password : kyjufskifas2jsfs remoteAddress : 192.168.1.1这时候我们可以定义一个实体类在装载配置文件信息@Component@ConfigurationProperties { return password; } public void setPassword(String password) { this.password = password; } }我们还可以把@ConfigurationProperties 还可以直接定义在@bean的注解上,这是bean实体类就不用@Component和@ConfigurationProperties了@SpringBootApplicationpublic class @Bean @ConfigurationProperties(prefix = connection) public ConnectionSettings connectionSettings(){ return

    27120

    Spring 注解@ConfigurationProperties

    简介Spring源码中大量使用了ConfigurationProperties注解,比如server.port就是由该注解获取到的,通过与其他注解配合使用,能够实现Bean的按需配置。 ElementType.TYPE, ElementType.METHOD })@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ConfigurationProperties DataSource readDruidDataSource() { return new DruidDataSource(); } ** * DataSource 配置 * @return * @ConfigurationProperties 和@value 有着相同的功能,但是@ConfigurationProperties的写法更为方便。 @ConfigurationProperties的POJO类的命名比较严格,因为它必须和prefix的后缀名要一致, 不然值会绑定不上, 特殊的后缀名是“driver-class-name”这种带横杠的情况

    13000

    SpringBoot @ConfigurationProperties详解

    SpringBoot @ConfigurationProperties详解简介本文将会详细讲解@ConfigurationProperties在Spring Boot中的使用。 添加依赖关系首先我们需要添加Spring Boot依赖: org.springframework.boot spring-boot-starter-parent 一个简单的例子@ConfigurationProperties 需要和@Configuration配合使用,我们通常在一个POJO里面进行配置:@Data@Configuration@ConfigurationProperties(prefix = mail)public 和@Bean@ConfigurationProperties也可以和@Bean一起使用如下所示:@Datapublic class Item { private String name; private int size;}看下怎么使用:@Data@Configurationpublic class BeanConfigProperties { @Bean @ConfigurationProperties

    2.4K31

    @ConfigurationProperties和@Value 注入

    我这里使用的Spring Boot 2.0.1 版本 配置文件是 yml 格式文件@ConfigurationProperties在yml配置文件中:?在实体类中:? 重点是实体类上的两个注解:@Component@ConfigurationProperties(prefix = jiang) : 这个注解的作用就是将一个实体类的属性和一个配置文件绑定一起,我们可以通过修改配置文件的值来控制这个实体类的属性值这两个注解见名知意使用

    55140

    ConfigurationProperties 和 EnableConfigurationProperties 的区别

    @EnableConfigurationProperties测试发现 @ConfigurationProperties 与 @EnableConfigurationProperties 关系特别大。 @EnableConfigurationProperties 文档中解释:当@EnableConfigurationProperties注解应用到你的@Configuration时, 任何被@ConfigurationProperties 测试发现:1.使用 @EnableConfigurationProperties 进行注册 @ConfigurationProperties(prefix = service.properties)public 2.不使用 @EnableConfigurationProperties 进行注册,使用 @Component 注册 @ConfigurationProperties(prefix = service.properties 由此证明,两种方式都是将被 @ConfigurationProperties 修饰的类,加载到 Spring Env 中。

    2.6K10

    SpringBoot | @Value 和 @ConfigurationProperties 的区别

    如何使用定义两个对象,一个学生对象,对应着一个老师对象,代码如下:@ConfigurationProperties学生类@Component@ConfigurationProperties(prefix 证明 @ConfigurationProperties 支持松散语法,@value 不支持。 说明 @ConfigurationProperties 不支持 SpELJSR303 数据校验@Value加入 @Length 校验:@Component@Validated@ConfigurationProperties 而上文介绍 @ConfigurationProperties 和 @Value 的使用方法时已经证实 @ConfigurationProperties 是支持复杂类型封装的。 @ConfigurationProperties 依然能取到值。怎么选用?1.

    51820

    @ConfigurationProperties 的作用是什么

    @ConfigurationProperties 是 Spring Boot 中的标签,它可以让开发者将整个配置文件,映射到对象中,比@Value 效率更高。 演示一个例子 ConfigurationProperties 演示代码 @Component@PropertySource(classpath:my.properties)@ConfigurationProperties Object getStateStatistics() { Map m=new HashMap(); m.put(status, myconfig.toString()); return m; }}@ConfigurationProperties https:www.mkyong.comspring-bootspring-boot-configurationproperties-example

    5.6K20

    SpringBoot系列之@Value和@ConfigurationProperties

    继上一篇博客SpringBoot系列之YAML配置用法之后,再写一篇@Value、@ConfigurationProperties的对比博客这两个主键都是可以获取配置文件属性的,不过是有比较大的区别的, 符号),user: username表示为user: user_name(小写用_符号),比如支持这种写法的就是支持松散绑定例子: 将yml的配置改一下user: user-name: root先用@ConfigurationProperties @Value(${isAdmin}) private boolean isAdmin;验证,校验发现不起效复杂类型封装 ok,验证@Value是否支持对象类型和list类型,在上篇博客,很显然验证了@ConfigurationProperties 两种属性的区别 @ConfigurationProperties @Value 功能对比 批量注入配置文件属性 一个一个属性的注入 松散绑定 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持 所以,@ConfigurationProperties适用与注入配置文件整个对应bean的全部属性,而@Value正如其名称一样,适合注入配置文件单个值

    28720

    @ConfigurationProperties和@Value使用对比

    2.1、@ConfigurationProperties使用@Data@Configuration@ConditionalOnProperty(value = xxl.job.enabled, havingValue = true)@ConfigurationProperties(prefix = xxl.job)public class XxlJobProperties { private Admin admin address:# ip:# port: 9999 logpath: zlogs${spring.application.name}xxl-jobjobhandler logretentiondays: 30@ConfigurationProperties 3、对比总结1、@ConfigurationProperties读取的属性不存在时,默认将值设置为null,程序启动不会报错。而@Value读取的属性不存在时,程序启动会报错。

    8420

    第三节,Springboot@Value和@ConfigurationProperties比较

    1.表格 @ConfigurationProperties @Value 功能 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法) 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持 本文例子是yml配置文件1.1松散绑定@ConfigurationProperties 支持松散绑定bean** * @anthor DencyCheng * @date 201893 0003 *@Component@ConfigurationProperties(prefix = goods)public class Goods { private String goodsName ; private Double price; get set}配置文件可以为goods: goods_name: 冰箱 price: 20.0这里可以看出@value 名称必须跟配置文件一致,但是@ConfigurationProperties 支持配置文件goods: goods_name: 冰箱 price:bean文件** * @anthor DencyCheng * @date 201893 0003 *@Component@ConfigurationProperties

    1K41

    在spring-boot中使用@ConfigurationProperties注解

    @ConfigurationProperties注解的作用是可以根据一个前缀将配置文件的属性映射成一个POJO实体类,只要属性名一致就能自动注入进去,使用起来非常方便,这一点容易与@Configuration 注解混淆,@Configuration也可以注解一个配置类,不一样的是它需要为每个属性再次声明绑定的字段,稍微复杂,所以推荐使用@ConfigurationProperties注解。 现在我们就可以通过@ConfigurationProperties注解将其映射成一个配置类,这样使用起来就非常方便了:?

    1.1K40

    springboot中的@ConfigurationProperties注解的使用

    ConfigurationProperties 注解的使用将配置文件中的配置,以属性的形式自动注入到 实体中。 *@Component 不加这个注解的话, 使用@Autowired 就不能注入进去了@ConfigurationProperties(prefix = service,ignoreUnknownFields myConfigTest.getUser()); return myConfigTest.getProperties(); }}4.结果 {name:my-test-name,ip:192.168.1.1}5.也可修饰配置类方法 @ConfigurationProperties

    5.3K30

    @ConfigurationProperties注解的使用与@Value的使用

    使用@ConfigurationProperties注解注入@RunWith(SpringRunner.class)@SpringBootTest@ConfigurationProperties(prefix SpringmvcdemoApplicationTests { private String id; @Test public void test10() { System.out.println(id); }}输出 null,注入失败原因:使用 @ConfigurationProperties import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class)@SpringBootTest@ConfigurationProperties

    23630

    配置文件@ConfigurationProperties读取List、Map参数

    ElementType.TYPE, ElementType.METHOD })@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ConfigurationProperties folders=rootcustom.config.config1.folders=homeuser1custom.config.config1.folders=homeuser2 对应的Java实现@ConfigurationProperties map.key3=value3custom.config.config1.map.key4=value4custom.config.config1.map.key5=value5 对应的Java实现@ConfigurationProperties 22custom.config.config1.server.username=username1custom.config.config1.server.password=password1 对应的Java实现@ConfigurationProperties ; private String username; private String password; ... }} Map的使用案例比如,我们同时需要连接多个OSS(阿里对象存储),那我们就可以利用ConfigurationProperties

    7920

    Spring Boot中注解@ConfigurationProperties的三种使用场景

    在Spring Boot中注解@ConfigurationProperties有三种使用场景,而通常情况下我们使用的最多的只是其中的一种场景。本篇文章带大家了解一下三种场景的使用情况。 场景一使用@ConfigurationProperties和@Component注解到bean定义类上,这里@Component代指同一类实例化Bean的注解。 场景二使用@ConfigurationProperties和@Bean注解在配置类的Bean定义方法上。 场景三使用@ConfigurationProperties注解到普通类,然后再通过@EnableConfigurationProperties定义为Bean。 @ConfigurationProperties(prefix = user1)public class User { private String name; 省略gettersetter方法}这里

    53310

    SpringBoot中@ConfigurationProperties提示:Configuration Annotation Processor not found in classpath

    在Spring Boot中,当使用@ConfigurationProperties定义自动配置类时,IDEA会提示:Spring Boot Configuration Annotation Processor 文件中添加如下依赖: org.springframework.boot spring-boot-configuration-processor true 引起该提示的原因是:高版本的Spring Boot中@ConfigurationProperties 而spring-boot-configuration-processor的功能,官方给出的解释是:通过使用spring-boot-configuration-processor jar,你可以从被@ConfigurationProperties

    74000

    SpringBoot 中 @ConfigurationProperties 配置后 apollo 自动刷新

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    1.8K20

    扫码关注云+社区

    领取腾讯云代金券