본문 바로가기

공부 자료/기타

[빈 등록 에러] Bean을 찾지 못하는 에러

 

[에러 로그]

Parameter 4 of constructor in project2.SAYO.domain.shoppingCart.service.ShoppingCartService required a bean of type 'project2.SAYO.domain.shoppingCart.entity.ShoppingCart' that could not be found.

 

해당 에러는 ShoppingCartService에서 필요한 ShoppingCart 유형 빈을 찾을 수 없다는 에러로, ShoppingCart Bean이 포함된 패키지가 구성 요소 검사에 포함되지 않아서 생긴 문제로 파악되며, 이는 아래와 같은 방법으로 해결이 가능하다.

 

[해결 방법]

ShoppingCart Bean이 구성 요소 검사에 포함되고 있지 않는 것이기 때문에 해당 패키지를 한번 읽고 지나가도록, 특정 위치를 직접 지정해주는 방식을 사용하면 된다.

 

Main 클래스에 어노테이션을 설정하여, 찾지 못하는 Bean이 존재하는 패키지를 스캔하도록 한다.

1. @ComponentScan(basePackages = {"찾지 못하는 패키지루트"})
2. @SpringBootApplication(scanBasePackages = {"찾지 못하는 패키지루트"})

 

따라서 위의 경우 패키지의 경로는 'project2.SAYO.domain.shoppingCart.entity.ShoppingCart' 이므로

아래와 같이 어노테이션을 붙여 직접 스캔할 수 있도록 설정하면 된다.

1. @ComponentScan(basePackages = {"project2.SAYO.domain.shoppingCart.entity.ShoppingCart"})
2. @SpringBootApplication(scanBasePackages = {"project2.SAYO.domain.shoppingCart.entity.ShoppingCart"})