Как получить аннотацию в виде поддержки, когда мой уровень обслуживания находится в другом модуле? - PullRequest
0 голосов
/ 26 марта 2012

Мое приложение Spring mvc разбито на модули.

Мои сервисы находятся в собственном модуле.

Раньше я использовал аннотацию @Service на своих сервисах, но, поскольку они находятся в отдельном модуле, у которого нет пружины, как я могу подключить их автоматически, как раньше в моем веб-приложении?

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Имейте в виду, что при создании WAR с вашим приложением все необходимые модули будут помещены в WEB-INF/lib вместе с зависимостями Spring (требуется для модуля MVC).Таким образом, модуль, в котором размещаются ваши сервисы, может иметь зависимость от Spring-context (содержащий аннотации), поскольку модуль MVC сам требует этой зависимости, поэтому он все равно будет помещен в окончательный пакет.Если вы используете maven, он будет автоматически обрабатывать все под капотом.

Однако, если вы не хотите, чтобы зависимости зависали, потому что, например, ваш «сервисный модуль» развернут как отдельный,Пакет без Spring, вы можете использовать JSR330 @Inject, @Resource и @Qualifier Java-аннотации - эти работы взаимозаменяемы с эквивалентами Spring.Однако я не знаю Java-эквивалентов @Service, @Component или @Repository, поэтому в этих случаях вы можете положиться на конфигурацию контекста XML Spring в своем модуле MVC.

1 голос
/ 26 марта 2012

Если вы разделяете приложение на модули, вы также разделяете его зависимости.

Например:

Ваш пользовательский интерфейс зависит от spring-mvc.Ваши услуги зависят от Spring-Core и Hibernate-аннотации.Ваш сервис-импл зависит от hibernate-core.

И тогда, если ваши модели имеют соответствующую зависимость.Вы можете использовать @Service так же, как и раньше.

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