Comment puis-je ajouter plusieurs packages dans le fichier spring-servlet.xml dans l' context:component-scan
élément?
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:
java
spring
component-scan
Shams
la source
la source
Approche d'annotation
la source
Vous pouvez ajouter plusieurs packages de base (voir la réponse d'axtavt ), mais vous pouvez également filtrer ce qui est analysé à l'intérieur du package de base:
la source
fonctionnera puisque le reste des packages sont des sous-packages de "xyz". Ainsi, vous n'avez pas besoin de mentionner chaque paquet individuellement.
la source
Une autre approche générale d'annotation:
la source
Si xyz est le package commun, vous pouvez utiliser:
il inclura tous les paquets commençant par xyz comme: xyzcontroller, xyzservice etc.
la source
Par exemple, vous avez le package "com.abc" et vous avez plusieurs packages à l'intérieur, vous pouvez utiliser comme
la source
Une réponse retardée mais pour donner plusieurs packages en utilisant une approche basée sur les annotations, nous pouvons utiliser comme ci-dessous:
@ComponentScan({"com.my.package.one","com.my.package.subpackage.two","com.your.package.supersubpackage.two"})
la source