Неизменный @ConfigurationProperties
Можно ли иметь неизменяемые (окончательные) поля с Spring Boot's@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
аргументБоб создан сnew MyProps()
Результаты в этой областиnull
С помощью@ComponentScan
а также@Component
обеспечитьMyProps
боб.Результаты вBeanInstantiationException
->NoSuchMethodException: MyProps.<init>()
Единственный способ заставить его работать, это предоставить getter / setter для каждого нефинального поля.