Meu aplicativo spring mvc é dividido em módulos.
Meus serviços estão em seu próprio módulo.
Anteriormente, eu colocava uma anotação @Service emmeus serviços, mas como eles estão em um módulo separado, que não tem mola, como posso conectá-los automaticamente como antes no meu aplicativo da web?
Respostas:
1 para resposta № 1Se você dividir o aplicativo em módulos, também dividirá suas dependências.
Por exemplo:
Sua interface do usuário depende do spring-mvc. Seus serviços dependem da anotação de mola e hibernação. Seus serviços-impl dependem do hibernate-core.
E então, se seus modelos tiverem dependência apropriada. Você pode usar o @Service como usou.
1 para resposta № 2
Lembre-se de que, quando você cria o WAR com seu aplicativo, todos os módulos necessários serão colocados em WEB-INF/lib
junto com dependências do Spring (exigidas pelo MVCmódulo). Portanto, o módulo no qual seus serviços são colocados pode ter dependência do contexto de primavera (contendo anotações), já que o módulo MVC exige essa dependência em si e, portanto, será colocado no pacote final. Se você usar o maven, ele lidará com tudo sob o capô automaticamente.
No entanto, se você não deseja que dependências sejam salvas, porque, por exemplo, seu "módulo de serviços" foi implementado como um pacote configurável sem mola, é possível usar o JSR330 @Inject
, @Resource
e @Qualifier
Anotações Java - funcionam como intercambiáveis aos equivalentes do Spring. No entanto, eu não conheço equivalentes Java de @Service
, @Component
ou @Repository
, portanto, nesses casos, você pode confiar na configuração de contexto do XML Spring em seu módulo MVC.