Импорт bean-компонентов Spring из других модулей Maven в WAR?

У меня есть новое веб-приложение, упакованное как WAR как часть многомодульного проекта Maven. ApplicationContext.xml для этой WAR ссылается на bean-компоненты, которые импортируются из модуля «service», который, в свою очередь, импортирует bean-компоненты из модуля «dao». Оператор импорта в applicationContext.xml выглядит так:

<import resource="classpath*:service.xml" />

, а тот, который находится внутри файла service.xml, выглядит так:

<import resource="classpath*:dao.xml" />

Ни Spring STS, ни Eclipse не показывают никаких предупреждений или ошибок в моих bean-файлах. Я повсюду ссылаюсь на импортированные бобы. Сборка Maven работает нормально, и все тесты интеграции DAO проходят успешно (они используют bean-компоненты). У меня пока нет тестов интеграции сервисов.

Но когда я запускаю WAR в Jetty, я получаю сообщение об ошибке:

Error creating bean with name 'securityService' 
Cannot resolve reference to bean 'userDAO' while setting constructor argument

Все импортированные XML-файлы bean-компонентов можно найти внутри соответствующих JAR-файлов в каталоге WEB-INF / lib. Действительно, служебный компонент, вызвавший ошибку, сам определен в файле service.xml внутри JAR-файла служебного модуля.

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

6
задан HDave 23 September 2010 в 21:13
поделиться