Wie kann ich mehrere Pakete in der Datei spring-servlet.xml im context:component-scan
Element hinzufügen ?
Ich habe versucht
<context:component-scan base-package="z.y.z.service" base-package="x.y.z.controller" />
und
<context:component-scan base-package="x.y.z.service, x.y.z.controller" />
und
<context:component-scan base-package="x.y.z.service" />
<context:component-scan base-package="x.y.z.controller" />
habe aber Fehler bekommen:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [x.y.z.dao.daoservice.LoginDAO] found for dependency:
java
spring
component-scan
Täuschungen
quelle
quelle
Annotation-Ansatz
quelle
Sie können mehrere Basispakete hinzufügen (siehe Antwort von axtavt ), aber Sie können auch filtern, was im Basispaket gescannt wurde :
quelle
wird funktionieren, da der Rest der Pakete Unterpakete von "xyz" sind. Sie müssen also nicht jedes Paket einzeln erwähnen.
quelle
Ein weiterer allgemeiner Annotation-Ansatz:
quelle
Wenn xyz das übliche Paket ist, können Sie Folgendes verwenden:
Es enthält alle Pakete, die mit xyz beginnen, wie z. B.: xyzcontroller, xyzservice usw.
quelle
Zum Beispiel haben Sie das Paket "com.abc" und Sie haben mehrere Pakete darin, die Sie wie verwenden können
quelle
Eine verzögerte Antwort, aber um mehrere Pakete unter Verwendung eines annotationsbasierten Ansatzes zu geben, können wir wie folgt verwenden:
@ComponentScan({"com.my.package.one","com.my.package.subpackage.two","com.your.package.supersubpackage.two"})
quelle