Spring Custom Configuration不使用下划线填充属性

时间:2019-08-22 11:11:36

标签: spring spring-boot

我试图用属性填充Custom类。以下是我的自定义属性类:

@Configuration
@ConfigurationProperties(prefix = "foo.bar")
public class CustomProperties{

    private String PROPERTY_ONE;

    private String propertyTwo;

    //setters 
    //getters
}

和我在application.properties中的属性是:

foo.bar.PROPERTY_ONE=some text
foo.bar.PROPERTY_TWO=some other text

当我尝试使用CustomProperties中的值时,这就是我得到的:

customProperties.getPROPERTY_ONE() = null
customProperties.getPopertyTwo() = some other text

所以我观察到,如果我的变量名中带有下划线(_),则不会填充属性值。

有什么方法可以获取带有下划线的变量的值?

1 个答案:

答案 0 :(得分:1)

是的,有可能100%获得您的配置值。

所有关于外壳!在CustomProperties内,只需命名您的第一个属性propertyOne ...并适当地重构您的吸气剂/设置剂...您会很高兴!

当将配置字段转换为配置类/属性时,Spring的骆驼外壳将继续运行。因此,请遵循与在配置文件中找到的属性名称等效的驼峰式大小写,而不是匹配属性的大小写。

示例:PROPERTY_ONE转换为propertyOne