Spring Boot и данные свойств из файла Yml - PullRequest
0 голосов
/ 10 мая 2018

Загрузочное приложение My Spring не может создать bean-компонент с объектом свойств из application.yml.

Вот что я сделал:

application.yml:

statsd:
   host: 10.0.5.23
   port: 8125

Я создал класс StatsdProperties @Component для хранения вышеуказанных данных:

@Component
@ConfigurationProperties(prefix="statsd")
public class StatsdProperties {
   private String host;
   private int port;

   .... getters & setters
}

И я создал еще один @Component класс, который должен использовать вышеуказанные свойства:

 @Component
 public class MyClass{

   @Autowired
   private StatsdProperties statsdProperties;


   public MyClass(){
      statsdProperties.getPort()  <---  statsdProperties is null here
   }

И statsdProperties равно нулю в MyClass

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Обновите файл конфигурации до этого:

@Configuration
@EnableConfigurationProperties()
@ConfigurationProperties(prefix = "statsd")
public class StatsdProperties  {
  private String host;
  private int port;

  .... getters & setters
}
0 голосов
/ 10 мая 2018

Вам необходимо включить конфигурацию в MyClass:

 @Component
 @EnableConfigurationProperties(StatsdProperties.class)
 public class MyClass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...