Какой разумный способ организовать классы в Spring 3 для сканирования компонентов?

- плохая практика. Я начал работу над новым проектом, используя Spring 3, и я использую аннотации. Мне нравится, что я могу подключать свои классы для внедрения зависимостей, но я знаю, что запускать context: component-scan из базового пакета - плохая практика.

Я использую ] DispatcherServlet , у которого есть собственный файл конфигурации xml. Это также контекст: компонентное сканирование . Когда я впервые начал изучать Spring, у меня было перекрытие при сканировании компонентов, и я видел бины, созданные несколько раз. Я бы хотел избежать этого.

Как лучше организовать сканирование моих пакетов или компонентов, чтобы охватить все компоненты без дублирования?

В настоящее время у меня есть такие пакеты:

my.package.controller
my.package.dao
my.package.entity
my.package.service
my.package.util

Если у меня есть компоненты во всех этих пакетах кажется, что простым выходом было бы поместить в applicationContext.xml и покончить с этим.

Было бы лучше просканировать my.package.controller в xml диспетчера, а остальные (за исключением my.package.controller) в applicationContext.xml?

Или мне следует расположить все мои аннотированные классы в одной области, а все остальное - в другой? Что-то вроде:

my.package.spring.controller
my.package.spring.dao
my.package.spring.entity
my.package.spring.service
my.package.spring.util
my.package.notannotated
my.package.notannotated2

Я использую @Autowired, чтобы добавить ведение журнала к большинству, если не всем моим классам, поэтому я не знаю, будут ли у меня какие-то классы, которые не будут аннотированы.

Ненавижу застревать по настройке ... Я бы предпочел застрять в коде, поэтому, если кто-то может дать какие-либо советы, я с радостью их приветствую.

Спасибо!

7
задан Paul 5 August 2011 в 16:44
поделиться