Jak mogę dodać wiele pakietów w pliku spring-servlet.xml w context:component-scan
elemencie?
próbowałem
<context:component-scan base-package="z.y.z.service" base-package="x.y.z.controller" />
i
<context:component-scan base-package="x.y.z.service, x.y.z.controller" />
i
<context:component-scan base-package="x.y.z.service" />
<context:component-scan base-package="x.y.z.controller" />
ale dostał błąd:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [x.y.z.dao.daoservice.LoginDAO] found for dependency:
java
spring
component-scan
Shams
źródło
źródło
Podejście do adnotacji
źródło
Możesz dodać wiele pakietów podstawowych (patrz odpowiedź axtavt ), ale możesz także filtrować to, co jest skanowane w pakiecie podstawowym:
źródło
będzie działać, ponieważ reszta pakietów to podpakiety „xyz”. Dlatego nie musisz wspominać o każdej paczce z osobna.
źródło
Inne ogólne podejście do adnotacji:
źródło
Jeśli xyz jest powszechnym pakietem, możesz użyć:
obejmie cały pakiet, który zaczyna się od xyz, taki jak: xyzcontroller, xyzservice itp.
źródło
Na przykład masz pakiet „com.abc” i masz w nim wiele pakietów, możesz użyć jak
źródło
Opóźniona odpowiedź, ale w celu dostarczenia wielu pakietów przy użyciu podejścia opartego na adnotacjach, możemy użyć w następujący sposób:
@ComponentScan({"com.my.package.one","com.my.package.subpackage.two","com.your.package.supersubpackage.two"})
źródło