인지용

스프링 bean 의존성 문제 (빈을 찾을수 없다고 뜰때) 본문

에러 해결

스프링 bean 의존성 문제 (빈을 찾을수 없다고 뜰때)

인지용 2021. 8. 27. 14:14

@Controller, @Service, @Repository 등등

빈으로 등록되는 어노테이션들을 제대로 달아줬는데도 불구하고

계속 bean을 찾을 수 없다고 뜬다면

 

원인

 

패키지명이 잘못됐거나

 

or

 

basePackages의 패키지 경로가

내가 빈으로 등록해야 하는 클래스의 패키지보다

하위 패키지로 설정돼어있기 때문에

 

 

해결 방법

(root-context.xml, servlet-context.xml 파일을 자바 설정으로 바꿨을 경우)

root, servlet 자바 설정에서 @ComponentScan의 basePackages 경로를 확인해보자

 

 

쉽게 말해

잘못된 예) 빈으로 등록하고자 하는 클래스가 있는 패키지 = com.app.shop.service

                 basePackages의 경로  = com.app.shop.domain.

 

좋은 예) 빈으로 등록하고자 하는 클래스가 있는 패키지 = com.app.shop.service

              basePackages의 경로  = com.app.shop