С весной, то можно вводить список фасоли по классу интерфейса, как:Spring: Xml на основе автоматического связывание списка фасоли по типу интерфейса
@Component
public class Service {
@Autowire
private List<InterfaceType> implementingBeans;
...
}
Всех определенных бобы, которые реализуют этот интерфейс будет присутствовать в этот список.
Подход, основанный на аннотациях, для меня невозможен, так как класс службы находится в модуле, который не должен иметь зависимости от пружины.
Мне нужно использовать этот механизм снаружи через xml-конфигурацию.
<bean id="service" class="...Service">
<property name="implementingBeans">
??? tell spring to create a list bean that resolves all beans of the interfaceType.
</property>
</bean>
Кто-нибудь знает, как это решить?
EDIT: Кроме того, существует более чем одно весеннее приложение, использующее эту услугу. Поэтому лучшим решением было бы полностью обработать этот сценарий через xml-конфигурацию. Затем я могу скопировать xml-части во все приложения spriong, которым это необходимо.
Я хочу, чтобы у вас не было типа инициализационного компонента, который получает введенную услугу и затем должен быть скопирован во все весенние приложения.
С уважением.
Может ли он иметь зависимости javax.inject? Вы можете использовать '@ Inject' вместо' @ Autowired'. –
хороший, тот работает. (конвертировать свой комментарий в ответ, чтобы получить карму;) – serprime