Возможно ли иметь неизменяемые (окончательные) поля с аннотацией Spring Boot @ConfigurationProperties? Пример ниже
@ConfigurationProperties(prefix = "example")
public final class MyProps {
private final String neededProperty;
public MyProps(String neededProperty) {
this.neededProperty = neededProperty;
}
public String getNeededProperty() { .. }
}
Подходы, которые я пробовал до сих пор:
- Создание
@BeanклассаMyPropsс двумя конструкторами- Предоставление двух конструкторов: пустое и с аргументом
neededProperty - bean создается с помощью
new MyProps() - Результаты в поле
null
- Предоставление двух конструкторов: пустое и с аргументом
- Используя
@ComponentScanи@Component, чтобы предоставитьMyPropsbean.- Результаты в
BeanInstantiationException→NoSuchMethodException: MyProps.<init>()
- Результаты в
Единственный способ, с помощью которого я работаю, - это предоставить getter/setter для каждого не конечного поля.