Возможно ли иметь неизменяемые (окончательные) поля с аннотацией 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
, чтобы предоставитьMyProps
bean.- Результаты в
BeanInstantiationException
→NoSuchMethodException: MyProps.<init>()
- Результаты в
Единственный способ, с помощью которого я работаю, - это предоставить getter/setter для каждого не конечного поля.