191 votes

plusieurs paquets en contexte: scan de composant, config de printemps

Comment puis-je ajouter plusieurs packages dans le fichier spring-servlet.xml en contexte: élément composant-scan.

j'ai essayé

 <context:component-scan base-package="z.y.z.service" base-package="x.y.z.controller" />
 

et

 <context:component-scan base-package="x.y.z.service, x.y.z.controller" />
 

et

 <context:component-scan base-package="x.y.z.service" />
<context:component-scan base-package="x.y.z.controller" />
 

mais j'ai eu une erreur:

 org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [x.y.z.dao.daoservice.LoginDAO] found for dependency:
 

Merci Shams

284voto

axtavt Points 126632

L'approche suivante est correcte:

 <context:component-scan base-package="x.y.z.service, x.y.z.controller" /> 
 

Notez que l'erreur se plaint de x.y.z.dao.daoservice.LoginDAO , ce qui n'est pas dans les paquets mentionnés ci-dessus, peut-être vous avez oublié de l'ajouter:

 <context:component-scan base-package="x.y.z.service, x.y.z.controller, x.y.z.dao" /> 
 

56voto

biology.info Points 91

Printemps 3.1> Approche d'annotation

 @ComponentScan({ "x.y.z", "x.y.z.dao" })
 

44voto

Sean Patrick Floyd Points 109428

Vous pouvez ajouter plusieurs packages de base (voir la réponse de axtavt ), mais vous pouvez également filtrer ce qui a été analysé dans le package de base:

 <context:component-scan base-package="x.y.z">
   <context:include-filter type="regex" expression="(service|constroller)\..*"/>
</context:component-scan>
 

20voto

Irene Points 144
 <context:component-scan base-package="x.y.z"/>
 

fonctionnera puisque le reste des paquets sont des sous-paquets de "xyz". Ainsi, vous n'avez pas besoin de mentionner chaque paquet individuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X