Could not autowire. No beans of type found. error 문제

devdo·2022년 5월 22일
0

오류노트

목록 보기
7/7

Could not autowire. No beans of type found. error

결국 빈이 제대로 등록이 되어 있지 않아 생기는 문제이다.

주로
Component 역할을 해야 하는 Controller, Service, Repository class 들에게
@Component(@Controller, @Service, @Repository) 못 붙이거나 잘 못 붙여서 생기는 문제이다.

interface에 이 어노테이션을 붙이는 걸로 착각하기도 한다.;;

요즘에 이 error가 생긴 일들이 많아 정리하고자 한다.

1) Dto 안에 주입할려고 함.
Dto 자체는 @Component 자체가 아닌다. Spring 빈으로 애초에 등록된 안된 빈에 주입할려고 하면 spring이 관리하지 않아 오류가 난다.


2) TestCode를 짤 때
최근에 Querydsl을 사용한 적이 있었다. querydsl를 짠 class에 @Repository를 붙여서 사용했다. 실제 프로젝트에서는 이상없이 잘 동작했다!

하지만 TestCode를 작성 할 때 이 오류가 난다.

해결: 따로 interface에 imple하는 구현 class로 하고 impl한 interface는 Repository로 주입하면 오류가 사라진다.

profile
배운 것을 기록합니다.

0개의 댓글