ConfigurationProperties

ConfigurationProperties

我是Spring Boot的新手,并了解@ConfigurationProperties批注如何在没有@Value批注的情况下实现字段值的自动注入(inject)。

@Configuration
@ConfigurationProperties(locations = "classpath:some.properties", prefix = "something")
public class MyConfiguration { .. }

我想使用Groovy的ConfigSlurper读取我的属性配置。有没有一种方法可以将@ConfigurationProperties与自定义属性读取器相关联,这可能是Spring类的一个自定义扩展,用于处理ConfigSlurper?还是有一种方法可以模拟具有不同功能的相同行为?

最佳答案

那不是@ConfigurationProperties要做的。 @ConfigurationProperties绑定(bind)Environment中可用的任何内容。 locations属性在1.4中已弃用,并将在以后的版本中删除。

这个想法是您指定一个前缀,并且如果它们是环境中与该前缀匹配的键,我们会在您的POJO中注入(inject)相关属性。如果您想通过该机制使用该基础架构,请删除注释上的locations属性并更新具有您自己的属性(property)来源的环境。另一个答案为您提供了一种方法,您可以使用EnvironmentPostProcessor将实现与环境 Hook 。

09-28 01:22