2015-12-28 2 views
0

Мне нужно определить несколько экземпляров компонента, и я хочу получить доступ к одному из компонентов из моего Менеджера весной.Доступ к одному из нескольких экземпляров компонента

Bean Определения:

<bean class="org.oba.GtfsRealtimeSource"> 
    <property name="name" value="PSTA" /> 
</bean> 

<bean class="org.oba.GtfsRealtimeSource"> 
    <property name="name" value="HART" /> 
</bean> 

Есть ли способ, чтобы получить доступ ко всем Фасоль из ApplicationContext или с annotations? Я пытаюсь получить доступ следующим образом, но я всегда получаю первый определенный bean.

GtfsRealtimeSource grc = (GtfsRealtimeSource) 
    applicationContext.getBean("org.oba.GtfsRealtimeSource"); 

ответ

0

Вы можете использовать метод getBeansOfType(), для Вашего случая:

Map<String, GtfsRealtimeSource> grcMap = 
    applicationContext.getBeansOfType(GtfsRealtimeSource.class); 
+0

Спасибо, что работает. Есть ли способ получить аннотации? – cagryInside

+0

Да, конечно, вы можете использовать его с помощью «@Autowired»: @Autowired private Map grcMap; –

+0

Хорошо, спасибо, спасибо – cagryInside

Смежные вопросы