작성
·
570
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
: 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
: 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
: 예
[질문 내용]
여기에 질문 내용을 남겨주세요.
Sptring boot가 controller 패키지를 인식안하고
converter패키지를 controller로 인식하고있습니다.
그래서 HelloController 클래스를 converter 패키지에 구현하고 진행중 입니다..
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
스프링 프레임워크에서 컨트롤러 패키지를 인식하지 못하고 컨버터 패키지로 인식하는 문제가 발생한 것 같네요.
먼저 확인해야 할 사항은 아래와 같아요.
1. HelloController 클래스가 올바른 위치에 있는지 확인해주세요. 스프링은 기본적으로 @RestController 및 @Controller 어노테이션이 선언된 클래스를 컨트롤러로 인식합니다.
2. 스캔할 패키지 설정이 올바로 되어 있는지 확인해주세요. 스프링 부트에서는 @SpringBootApplication 어노테이션이 선언된 클래스가 속한 패키지부터 하위 패키지를 스캔합니다. 스캔할 패키지를 설정해야 한다면 @ComponentScan 어노테이션을 사용하여 명시적으로 설정할 수 있어요.
만약 위의 사항들을 확인하고도 문제가 해결되지 않는다면, 스프링의 설정 파일인 application.properties 또는 application.yml 파일에서 컨트롤러와 관련한 설정이 제대로 되어 있는지 확인해보세요.
더 자세한 내용을 알려주시면 더 정확한 답변을 드릴 수 있을 것 같아요.
------------------------------------------------------------------------------------------------
1. HelloController 클래스가 controller 패키지에서 @RequestController 로 인식하지 않습니다.
controller 패키지가 아닌, converter 패키지에서만 @Controller로 정상 인식합니다.
controller, converter 패키지 모두, typeconverter 패키지의 하위 패키지 입니다.
2. 위 이미지와 같이 @ComponentScan 사용 스캔할 패키지를 명시적으로 지정하여도
controller 패키지에서 정상적으로 @Controller 인식 하지 않습니다.
converter 패키지에서는 정상적으로 인식합니다.
application.properties
톰캣서버 설정(server.port=8090)제외한, 다른 설정은 하지 않았습니다.
*해당 프로젝트 구글 드라이브 입니다.
https://drive.google.com/drive/folders/1jq_KhvaBar4w3ODKrZtTc6QL6i_WaFbQ?usp=sharing