[SPRING] 컨텍스트에서 여러 패키지 : 구성 요소 검사, 봄 구성
SPRING컨텍스트에서 여러 패키지 : 구성 요소 검사, 봄 구성
Spring-servlet.xml 파일에 context : component-scan 요소로 여러 패키지를 추가하려면 어떻게해야합니까?
나는 노력했다.
<context:component-scan base-package="z.y.z.service" base-package="x.y.z.controller" />
과
<context:component-scan base-package="x.y.z.service, x.y.z.controller" />
과
<context:component-scan base-package="x.y.z.service" />
<context:component-scan base-package="x.y.z.controller" />
하지만 오류가 발생했습니다 :
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [x.y.z.dao.daoservice.LoginDAO] found for dependency:
해결법
-
==============================
1.다음과 같은 접근 방식이 옳습니다.
다음과 같은 접근 방식이 옳습니다.
<context:component-scan base-package="x.y.z.service, x.y.z.controller" />
위에 언급 된 패키지에없는 x.y.z.dao.daoservice.LoginDAO에 대한 에러가 발생합니다. 아마도 그것을 추가하는 것을 잊었을 것입니다 :
<context:component-scan base-package="x.y.z.service, x.y.z.controller, x.y.z.dao" />
-
==============================
2.여러 개의 기본 패키지를 추가 할 수 있지만 (axtavt의 답변 참조) 기본 패키지 내에서 스캔 한 것을 필터링 할 수도 있습니다.
여러 개의 기본 패키지를 추가 할 수 있지만 (axtavt의 답변 참조) 기본 패키지 내에서 스캔 한 것을 필터링 할 수도 있습니다.
<context:component-scan base-package="x.y.z"> <context:include-filter type="regex" expression="(service|controller)\..*"/> </context:component-scan>
-
==============================
3.주석 접근법
주석 접근법
@ComponentScan({ "x.y.z", "x.y.z.dao" })
-
==============================
4.
<context:component-scan base-package="x.y.z"/>
나머지 패키지는 "x.y.z"의 하위 패키지이기 때문에 작동합니다. 따라서 각 패키지를 개별적으로 언급 할 필요가 없습니다.
-
==============================
5.또 다른 일반적인 Annotation 접근법 :
또 다른 일반적인 Annotation 접근법 :
@ComponentScan(basePackages = {"x.y.z"})
-
==============================
6.x.y.z가 공통 패키지 인 경우 다음을 사용할 수 있습니다.
x.y.z가 공통 패키지 인 경우 다음을 사용할 수 있습니다.
<context:component-scan base-package="x.y.z.*">
x.y.z로 시작하는 모든 패키지를 포함합니다 : x.y.z.controller, x.y.z.service 등
-
==============================
7.예를 들어 당신은 "com.abc"라는 패키지를 가지고 있고 그 안에 여러 개의 패키지가 있습니다.
예를 들어 당신은 "com.abc"라는 패키지를 가지고 있고 그 안에 여러 개의 패키지가 있습니다.
@ComponentScan("com.abc")
from https://stackoverflow.com/questions/5269450/multiple-packages-in-contextcomponent-scan-spring-config by cc-by-sa and MIT license