인프런 커뮤니티 질문&답변

내미님의 프로필 이미지
내미

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

http://localhost:8080/hello에서 에러가 나요

작성

·

352

·

수정됨

0

서버도 껐다가 켜서 다시 하고 새로고침하고 클리어도 했는데 안돼요

답변 1

0

안녕하세요, 내미 님. 공식 서포터즈 y2gcoder 입니다.

HelloController가 컴포넌트 스캔의 대상 패키지에 있어야 빈으로 등록되고, 컨트롤러의 역할을 할 수 있습니다. HelloSpringApplication에 달려있는 @SpringBootApplication을 들어가보시면 안에 @ComponentScan이 있습니다.

기본적으로 @ComponentScan을 단 클래스가 있는 패키지와 하위 패키지를 컴포넌트 스캔 하위 패키지로 잡습니다. 보여주신 캡처본 기준으로 하면 src.main.java.hello.hellospring 패키지부터 하위 패키지까지를 컴포넌트 스캔 대상으로 설정하고 그 안의 @Component, @Service, @Controller 등이 붙은 클래스들을 찾아 스프링 빈으로 등록해주는 것입니다.

그래서 HelloController는 src.main.java.controller 패키지에 있기 때문에 컴포넌트 스캔의 대상이 되지 않습니다. 정상적으로 동작하도록 만들어주기 위해서는 강의와 같이 controller 패키지 전체를 src.main.java.hello.hellospring 내로 옮겨주시기 바랍니다 :)


감사합니다.

내미님의 프로필 이미지
내미
질문자

오 진짜 되네요 압도적 감사

파이팅입니다!

내미님의 프로필 이미지
내미

작성한 질문수

질문하기