如何以向后兼容的方式弃用Spring ConfigurationProperties类?

时间:2019-06-17 18:50:28

标签: java spring spring-boot deprecated spring-properties

我正在重构一些遗留代码,这些遗留代码为其Spring属性使用非常通用的前缀。像这样:

# application.properties
some.property=foobar

我正在重命名该属性以使其更有意义。

# application.properties
libraryX.widget=foobar

到目前为止,我已经为旧值添加了一个ConfigurationProperties类,并将它们标记为DeprecatedConfigurationProperty

@Component
@ConfigurationProperties(prefix = "some")
public class LegacyProperties {

    private String property;

    @DeprecatedConfigurationProperty(reason = "property has been renamed to libraryX.widget", replacement = "libraryX.widget")
    public String getProperty() {
        return property;
    }

    public void setProperty(String property) {
        this.property = property;
    }
}

问题...

我想使此更改向后兼容。我该如何将旧属性名称透明地映射到新属性名称,以便可以从some.property检索@Value("${libraryX.setting}")值?

0 个答案:

没有答案