개발자

SpringBoot @ComponentScan 질문

2023년 10월 26일조회 73

안녕하세요. 1년차 백엔드 개발자 입니다. JPA 실습 중 궁금한 것이 생겨서 질문 드립니다. 코드 @SpringBootApplication @ComponentScan(basePackages = "com.jpabook.jpashop") public class JpaShopApplication { public static void main(String[] args) { SpringApplication.run(JpaShopApplication.class, args); } } 상황설명 -@Repository 어노테이션을 명시한 Bean 객체를 테스트에서 찾지 못하는 오류 발생 -Repository 계층에 대한 단위 테스트 수행을 하고 싶은데 @SpringBootTest를 사용해야하는 상황이 발생함. -방법을 찾다보니 위 코드 처럼 @ComponentScan을 직접 명시하니 해결 궁금한 것은 위 코드에서 @ComponentScan이 명시되어 있는데 해당 어노테이션은 @SpringBootApplication에 기능이 포함되어 있어서 이제껏 명시하지 않더라도 @Autowired 등의 의존성 주입이 정상적으로 됐었는데요. 이번 실습 프로젝트에서는 되지 않아서 저렇게 명시를 했더니 정상적으로 작동합니다. 혹시 어떤 이유 때문인지 설명해주실 수 있으실까요? 참고로 테스트 했던 코드는 아래와 같습니다. 패키지 구조는 사진과 같습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!