springboot注解之@ConfigurationProperties注解
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
一 . 什么是@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文件里需要映射的属性的统一前缀
参数三ignoreInvalidFieldsfalse
是否忽略非法值比如将一个字符串 “foo” 赋值给 bool 值不忽略的话会报启动异常。
参数四ignoreUnknownFieldstrue
对于多余的配置是否会报异常。例如当配置文件中有一个或多个属性未绑定到实体类时或属性名字出错或已被删除了这时候对于实体类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;
}