Несколько зависимостей с Spring - PullRequest
0 голосов
/ 26 июля 2011

Может кто-нибудь посоветовать мне, как я могу внедрить несколько зависимостей для одного и того же компонента в среде Spring?Я постараюсь объяснить сценарий очень кратко, на случай, если кто-нибудь может предложить мне лучшее решение.

У меня есть хранилище данных, и оно должно пройти через определенные фильтры для фильтрации нежелательных данных.Критерии фильтрации изменяются и не привязаны к одному фильтру.Итак, я создал обработчик фильтра, который фильтрует данные на основе фильтров.Я хочу использовать IoC и внедрить зависимости фильтра.Это прямо до здесь, только то, что может быть несколько фильтров.Как ввести несколько зависимостей.Если я могу создать список фильтров, как мне объявить список в XML-файле?

Заранее спасибо,

Ответы [ 3 ]

3 голосов
/ 26 июля 2011

Вы можете сделать это следующим образом (filter1 и filter2 - идентификаторы bean-компонентов, определенных в другом месте):

<property name="propertyName">
  <list>
    <ref bean="filter1"/>
    <ref bean="filter2"/>
  </list>
</property>
2 голосов
/ 26 июля 2011

Если все ваши фильтры реализуют один и тот же интерфейс, самый элегантный (на мой взгляд) способ выглядит так:

@Autowired
private List<YourFilterInterface> filters;

Это соединит список, содержащий все зарегистрированные bean-компоненты, реализующие YourFilterInterface. Он доступен в версии Spring 2.5 и выше.

1 голос
/ 26 июля 2011

Документы Spring рассказывают, как создать список.

Пример взят из приведенной выше ссылки ...

<!-- creates a java.util.List instance with the supplied values -->
<util:list id="emails">
    <value>pechorin@hero.org</value>
    <value>raskolnikov@slums.org</value>
    <value>stavrogin@gov.org</value>
    <value>porfiry@gov.org</value>
</util:list>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...