Как получить bean в @Bean?
Есть следующий @Bean:
@Bean
public Book warAndPiece() {
return new Book(3000, "War and Piece", "Tolstoy", );
}
Последний аргумент - объект Brochure. Как подключить его если он
- как
@Beanв классеBrochure(думаю, что вызывать метод - не лучшая затея) - как
beanв файле конфигурации
Оба имеют свои qualifier'ы
Ответы (2 шт):
Автор решения: Санаев
→ Ссылка
@Bean
public Book warAndPiece(@Qualifier("brochure") Brochure brochure) {
return new Book(3000, "War and Piece", "Tolstoy",brochure);
}
Автор решения: kaylil_01
→ Ссылка
Если бин Brochure используется только в этом bean-методе, то можете сделать так:
@Bean
public Book warAndPiece(Brochure brochure(имя бина-метода, который создает этот бин) {
return new Book(3000, "War and Piece", "Tolstoy", brochure);
}
И спринг сам внедрит эту зависимость, если же не только в этом одном bean-методе, то лучше заавтоварить в классе, где находится этот bean-метод и передать в метод.