Я рефакторинг некоторого устаревшего кода, который использовал очень общие префиксы для своих свойств 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}")
?