springboot注解之@ConfigurationProperties注解

目录

一 . 什么是@ConfigurationProperties注解

二 . @ConfigurationProperties的参数解释

三  举例说明


一 . 什么是@ConfigurationProperties注解

 在 SpringBoot 中,当想需要获取到配置文件数据时,除了可以用 Spring 自带的 @Value 注解外,SpringBoot 还提供了一种更加方便的方式:@ConfigurationProperties。只要在 Bean 上添加上了这个注解,指定好配置文件的前缀,那么对应的配置文件数据就会自动填充到 Bean 中。

在编写项目代码时,我们要求更灵活的配置,更好的模块化整合。在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值

在日常开发实践中,经常需要通过@Value注解读取、加载配置文件中的自定义配置项。当存在大量自定义配置项时,就需要很多个@Value注解一一绑定,显然不够优雅。所以我们采用另一种方式,即通过@ConfigurationProperties注解实现。

二 . @ConfigurationProperties的参数解释

参数一:value:
前缀,用于识别properties/yml文件里需要映射的属性的统一前缀
参数二:prefix:
前缀,用于识别properties/yml文件里需要映射的属性的统一前缀
参数三:ignoreInvalidFields:false
是否忽略非法值,比如将一个字符串 “foo” 赋值给 bool 值,不忽略的话会报启动异常。
参数四:ignoreUnknownFields:true
对于多余的配置是否会报异常。例如:当配置文件中有一个或多个属性未绑定到实体类时或属性名字出错或已被删除了,这时候对于实体类,properties里的属性是未知的。这种情况我们希望程序启动失败,这时候就将此参数设置为false即可

三  举例说明

 比如在application.properties文件中有如下配置文件

·  config.username=jay.zhou

·   config.password=3333

那么按照如下注解配置,SpringBoot项目中使用@ConfigurationProperties的Bean,它的username与password就会被自动注入值了。就像下面展示的那样

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;


@Component

@ConfigurationProperties(prefix = "config")

public class TestBean{


    private String username;

    

    private String password;

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值