SpringBoot外部化配置

        SpringBoot提供了非常方便的外部文件配置功能,相关内容放在官方文档的 Spring Boot Features部分下的 Externalized Configuration。

        SpringBoot默认支持 application-{profile}.properties 和 YAML文件的配置内容,配置文件支持占位符,比如${app.name}来访问已经配置的 app.name属性。Spring容器识别到这些属性之后,可以通过@Value注入、或通过Environment接口访问、或者通过 @ConfigurationProperties注解绑定到对象 来使用这些属性。

尽量使用YAML文件取代properties文件。

 

@ConfigurationProperties注解

使用该注解时,需要配置一个prefix属性,用来绑定这个前置下的所有配置到一个对象上。

由于需要的是一个bean,同时还要配合@Component @Bean等注解一起使用。或者在配置类上使用@EnableConfigurationProperties(AcmeProperties.class),而AcmeProperties类上加上@ConfigurationProperties注解即可。

这个配置类的字段上可以加上一些@NotNull等校验注解,而类上加上@Validated注解。

松绑定支持:配置项可以稍微灵活一点,这样也是能够识别并注入。

配置元数据

如果有一些自定义的配置项,并且其他人使用时能够让idea等工具给出提示,可以配置元数据。

相关章节查看 Configuration Metadata。

@PropertySource注解

该注解用于指定读取的properties文件,会将配置文件的配置项注入到Spring容器供用户使用。

它的作用是读取属性文件内容到Spring容器,并供@Value/Enviroment接口/@ConfigurationProperties使用属性。

显然它可以与@ConfigurationProperties配合一起使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值