Immutable @ConfigurationProperties

É possível ter campos imutáveis (finais) com o Spring Boot@ConfigurationProperties anotação? Exemplo abaixo

@ConfigurationProperties(prefix = "example")
public final class MyProps {

  private final String neededProperty;

  public MyProps(String neededProperty) {
    this.neededProperty = neededProperty;
  }

  public String getNeededProperty() { .. }
}

Abordagens que tentei até agora:

Criando um@Bean doMyProps classe com dois construtoresFornecendo dois construtores: vazio e comneededProperty argumentoO bean é criado comnew MyProps()Resultados no campo sendonullUsando@ComponentScan e@Component para fornecer oMyProps feijão.Resulta emBeanInstantiationException ->NoSuchMethodException: MyProps.<init>()

A única maneira de fazê-lo funcionar é fornecendo getter / setter para cada campo não final.

questionAnswers(4)

yourAnswerToTheQuestion