해결된 질문
작성
·
319
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예
[질문 내용]
제가 (프로젝트명)폴더가 아닌 java밑에 service폴더를 넣어놨더니
이런 오류가 발생했습니다.
여기서 궁금한점이 [프로젝트명]폴더 밑에있어야지만 SpringContainer에 service repository controller가 DI되는건가요?
확신이없어서 질문드립니다ㅠ
답변 1
0
안녕하세요. 현호님, 공식 서포터즈 코즈위버입니다.
Main 클래스가 존재하는 위치가 중요한데요 Main 클래스에는 @ComponentScan 어노테이션이 적용되는데(@SpringBootApplication 이 @ComponentScan 어노테이션을 포함하고 있습니다), 이 어노테이션은 기본적으로 Main 클래스가 위치한 패키지 '이하'를 검색하여 모든 컴포넌트들을 스프링 빈으로 등록하게 됩니다. 만약 어떤 패키지가 Main 클래스 보다 상위에 존재한다면 검색 대상에서 벗어나고 DI 기능을 이용할 수 없습니다.
감사합니다.
Main클래스가 위치한 패키지 이하에서만 스피링 빈으로 등록되는것이군요.
빠르고 친절하고 정확한 답변 감사합니다ㅎㅎ