2017-05-03 10 views
0

나는 @Configuration이라는 주석이 달린 DAO 클래스가 있습니다. 이 DAO 클래스에서 나는 빈을 다음과 같이 정의했다.@Bean 속성을 @Autowire 할 수 없습니다.

@Bean 
public MyDao myDao(){ 
    return new MyDao(dataSource); 
} 

이제이 DAO를 내 서비스 클래스에서 사용하고 싶다. 내가

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [IMyDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
+0

당신이 있는지 여부를 확인 할 수를 얻을 테스트를 실행하는 동안 그래서 @Service와 서비스 클래스를 주석과

@Autowired private IMyDao myDao; 

을 사용 'myDao()'실제로 호출됩니까? – StanislavL

+0

다른 구성 파일을 어떻게로드합니까? –

+0

문제가 무엇인지 정확히 알기에는 여기에 정보가 충분하지 않습니다. MyDao는 IMyDao를 구현합니까? 완전한 DAO 클래스는 어떻게 생겼습니까? DAO 클래스가 구성 요소 검사에 포함되어 있습니까? 별도의 클래스가 아닌 DAO 클래스 자체에'@Configuration'을 사용하는 것이 이상하게 들립니다. – Jesper

답변

0

응용 프로그램 컨텍스트이 추가 아래의 오류

<context:component-scan base-package="your top level package"> 
    <context:include-filter type="regex" 
    expression="com\.your package\..*Dao.*" /> 
    <context:include-filter type="regex" 
    expression="com\.your package\..*Service.*" /> 
    <context:exclude-filter type="annotation" 
    expression="org.springframework.stereotype.Controller" /> 
    </context:component-scan> 
+0

그는 그의 DAO에'@ Configuration' 클래스를 사용하고 있습니다. 그가 실제로해야 할 일은 그가 사용하고있는 XML에이 구성 클래스를 추가하는 것입니다 (또는'@ Configuration' 클래스를 탐지하는 구성 요소 검사를 포함시킵니다). –

+0

@ M.Deinum 그건 내가 내 대답을 의미합니다. –

+0

당신의 답을 보면 안된다 .... -> * MyDao를 정의한 패키지의 이름 *은 dao가 아닌 config를 참조해야합니다. –