Рекомендуемый способ доступа к бобам Spring в веб-приложении Apache Tomcat - PullRequest
1 голос
/ 29 июня 2010

Я занимаюсь разработкой веб-приложения на Apache Tomcat 6 с использованием Hibernate и Spring. Я использую различные XML-файлы конфигурации для определения своих компонентов Spring (например, Hibernate DAO, Quartz scheduler и некоторые другие).Все эти файлы загружаются при запуске Tomcat через web.xml (ContextLoaderListener).

Теперь я не уверен, каков рекомендуемый способ получить доступ к моим bean-компонентам.

Должен ли я написатьв классе, который предоставляет BeanFactory для всех классов, которые должны использовать bean-компонент, или это лучший способ загрузки BeanFactory в каждом классе.

BeanFactory bf = (BeanFactory) ContextLoader.getCurrentWebApplicationContext();

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Одна из основных идей Spring Framework - минимизировать зависимости между классами.Вы получите максимальную выгоду от использования этой концепции на протяжении всего вашего проекта.Каждый бэкэнд-объект должен быть определен как bean-компонент и поэтому может использовать автоматическое внедрение зависимостей.

Если некоторым вашим Бинам необходим прямой доступ к ApplicationContext (например, для запроса всех Бинов, реализующих некоторый интерфейс маркера), вы можете реализовать интерфейс ApplicationContextAware, поэтому фабрика все же не нужна.

0 голосов
/ 29 июня 2010

Вместо этого используйте внедрение зависимостей.Создайте геттеры и сеттеры в каждом классе контроллера и используйте ваш * -servlet.xml для добавления необходимых bean-компонентов через тег <property>Фабрика не нужна!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...