스프링은 민감하기 때문에 사용하다가 에러가 많이 뜨는걸 확인 할 수 있다.
나같은 경우에서도 스프링컨테이너에 값들을 등록하고 사용할려는데 bean을 찾을 수 없다고 에러가 떳다.
내가 @Compenent @Service @Repository를 안붙였나 .. 싶어서 찾아봤지만 정상적으로 붙어있음을 확인 할 수 있다.
그렇다면 어노테이션의 문제는 아니다. 그래서 찾아 본 결과 이유를 알았다.
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'MemberPackage.Member.MemberRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
라고 뜨는데 만약에 내가 어노테이션을 정상적으로 붙였음에도 이렇게 오류가 뜬다면
@Copmentscan에 basepackage를 이용해 해당 패키지만 스캐너로 긁어오게 하면된다.
이렇게 스프링컨테이너에 설정정보를 넣고 (나의 경우는 Configuration을 빼기 위해 설정정보를 삽입했다)
컴포넌트 스캔 부분에 basepackge를 사용해서 자신이 스캔할 패키지를 지정해주면 된다.
나도 어노테이션이 붙엇음에도 계속 오류가 떳는데 basepackge로 해당 패키지만 스캔해돌라고 명령했더니 잘 되는걸 확인 할 수 있다.
'[자바]스프링' 카테고리의 다른 글
스프링 querydsl 의존성 추가 스프링 부트 3.0.0이상 gradle 5.0이상 (1) | 2023.05.05 |
---|---|
bindingresult,rejectValue의 이해와 원리 (1) | 2023.05.05 |
@AutoWired의 원리 , AutoWired란? (1) | 2023.05.02 |
[스프링부트] mustache 경로를 인식하지 못할 때 (1) | 2023.02.27 |
[명품자바 8장] 연습문제 1~10 (1) | 2023.01.20 |