SpringBoot извлекает существующие прототипы bean-компонентов - PullRequest
0 голосов
/ 18 сентября 2018

Как мой заголовок, есть ли способ получить эти существующие прототипы?У меня есть прототип bean-компонента с именем «A», и он вызывал метод applicationContext.getBean () 10 раз для создания 10 экземпляров. Нет переменной, относящейся к этим экземплярам.

Способы, которые я пробовал, но не работает:

1.авторизация списка A, как показано ниже:

@autowired
List<A> as;

это может получить только последний созданный мной экземпляр.

если я использую beanFactory для получения bean-компонента, он просто создаст новый экземпляр A.

1 Ответ

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

эти бины не будут управляться контейнером Spring, вы должны сделать это самостоятельно, поэтому вы должны создать коллекцию для их хранения, просто реализует InitializingBean для его хранения

public class A implements InitializingBean {
    public static final List<A> STORES = new ArrayList<>();
    @Override
    public void afterPropertiesSet() throws Exception {
        A.STORES.add(this);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...