Inmutable @ConfigurationProperties
¿Es posible tener campos inmutables (finales) con Spring Boot's@ConfigurationProperties
¿anotación? Ejemplo a continuación
@ConfigurationProperties(prefix = "example")
public final class MyProps {
private final String neededProperty;
public MyProps(String neededProperty) {
this.neededProperty = neededProperty;
}
public String getNeededProperty() { .. }
}
Enfoques que he probado hasta ahora:
Creando un@Bean
delMyProps
clase con dos constructoresProporcionando dos constructores: vacíos y conneededProperty
argumentoEl bean se crea connew MyProps()
Resultados en el campo siendonull
Utilizando@ComponentScan
y@Component
para proporcionar elMyProps
frijol.Resultados enBeanInstantiationException
->NoSuchMethodException: MyProps.<init>()
La única forma en que lo tengo funcionando es proporcionando getter / setter para cada campo no final.