컨텍스트에서의 여러 패키지: component-scan, spring config
의 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:
다음 접근법이 맞습니다.
<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" />
주석 접근법
@ComponentScan({ "x.y.z", "x.y.z.dao" })
여러 기본 패키지를 추가할 수 있지만(axtavt의 답변 참조), 기본 패키지 내에서 검색된 내용을 필터링할 수도 있습니다.
<context:component-scan base-package="x.y.z">
<context:include-filter type="regex" expression="(service|controller)\..*"/>
</context:component-scan>
<context:component-scan base-package="x.y.z"/>
나머지 패키지는 "x.y.z"의 서브 패키지이기 때문에 동작합니다.따라서 각 패키지를 개별적으로 언급할 필요가 없습니다.
또 다른 일반적인 주석 접근법:
@ComponentScan(basePackages = {"x.y.z"})
응답이 늦었지만 주석 기반 접근 방식을 사용하여 여러 패키지를 제공하려면 다음과 같이 사용할 수 있습니다.
@ComponentScan({"com.my.package.one","com.my.package.subpackage.two","com.your.package.supersubpackage.two"})
x.y.z가 일반적인 패키지인 경우 다음을 사용할 수 있습니다.
<context:component-scan base-package="x.y.z.*">
x.y.z.controller, x.y.z.service 등 x.y.z로 시작하는 모든 패키지가 포함됩니다.
예를 들어 "com.abc" 패키지가 있고 패키지에 여러 개의 패키지가 있습니다.
@ComponentScan("com.abc")
언급URL : https://stackoverflow.com/questions/5269450/multiple-packages-in-contextcomponent-scan-spring-config
'source' 카테고리의 다른 글
vue-cli 3에서 프로젝트 템플릿에 Vuetify 추가: App.vue에 스크립트 태그를 추가하면 앱이 중단됩니까? (0) | 2022.08.25 |
---|---|
사용자 지정 Vue 구성 요소에 vanilla .js를 추가하는 방법 (0) | 2022.08.25 |
공백으로 문자열을 분할하는 방법 (0) | 2022.08.25 |
올바른 사용: vuetify 대화 상자를 사용한 외부 (0) | 2022.08.25 |
vue: 컴포넌트에 전달된 오브젝트를 무효로 만들려면 어떻게 해야 합니까? (0) | 2022.08.25 |