Я бы хотел, чтобы список, заполненный элементами определенного типа, автоматически добавлялся Spring.
@Component
class Scratch {
@Autowired
List<Person> person;
}
Даны следующие бобы:
@Configuration
class App {
@Bean
public Person coolPerson() {
return new CoolPerson();
}
@Bean
public Person stupidPerson() {
return new stupidPerson();
}
@Bean
public Person funnyPerson() {
return new FunnyPerson();
}
}
Результат, который мне нравится получать, состоит в том, что List<Person>
заполнен тремя элементами. Один из объявленных Bean
из Configuration
выше.
Если это невозможно из-за DI Спринга, есть ли у меня хакерский способ?
Я думаю, что весна как бы собирает все Bean
в своем контексте. Так что насчет доступа к этому контексту и заполнения списка вручную, например:
Псевдо
@Component
class Scratch {
List<Person> person = SpringContext.getBeans(Person.class);
}