@ConfigurationPropertie не работает Spring Boot - PullRequest
0 голосов
/ 25 сентября 2018

Вот мое application.properies ...

extract.magoo=tony

Я пытаюсь прочитать это в.

@Component
@ConfigurationProperties("extract")
public class ApplicationProperties {
    ...
    String magoo;

    @Autowired
    private Environment env;   

    @PostConstruct
    public void validate() {
         System.out.println("******* magoo=" + magoo);
         System.out.println("**** " + env.getProperty("extract.magoo"));
    }

Будет выводить:

******* magoo=null
**** null
**** tony

Таким образом, свойство magoo в классе никогда не вводится.Но я могу получить значение из компонента Environment.Так что это означает, что он читает application.properties.

Обратите внимание, что в классе Configuration я добавил аннотацию @EnableConfigurationProperties.

@Configuration
@EnableConfigurationProperties(ApplicationProperties.class)
public class ExtractToolConfiguration {
...
}

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Вы должны включить @ConfigurationProperties, добавив @EnableConfigurationProperties к классу @Configuration.Тогда

@ConfigurationProperties(prefix="extract")
public class ApplicationProperties {
  String magoo;
  public void setMagoo(String magoo){
    this.magoo = magoo;
  }
}

Вам также нужен сеттер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...