Как читать компонент в другой класс

#java #spring #spring-boot #spring-mvc #autowired

#java #весна #spring-boot #spring-mvc #автоматическое подключение

Вопрос:

У меня есть этот класс конфигурации

 @Configuration
@ComponentScan(value ="com.cloudgatewayservice")
@PropertySources({@PropertySource("classpath:application.yml"),
                 @PropertySource("file:${prm.target.account.config}")})
public class AccountInstanceConfig {

    @Autowired private Environment env;


    @Bean public List<String> accountInstance() {
        return Arrays.asList(env.getRequiredProperty("prm-account-instance").split("#"));
    }
}
  

И мне нужно получить accountInstance() возвращаемые значения, но я не знаю, как это сделать. Не могли бы вы оказать некоторую помощь в этом? Спасибо.

Ответ №1:

Можете ли вы использовать @Autowired аннотацию?

В поле:

 @Autowired
private final List<String> accountInstance;
  

В конструкторе:

 private final List<String> accountInstance;

@Autowired
public MyClass(List<String> accountInstance) {
    this.accountInstance = accountInstance;
}
  

Или с помощью setter:

 private List<String> accountInstance;

@Autowired
public void setAccountInstance(List<String> accountInstance) {
   this.accountInstance = accountInstance;
}