[Spring] 새로운 컨트롤러(Controller)를 생성했는데 호출이 안될때

레거시 프로젝트에 신규 패키지를 만들고 그 패키지안에 신규 컨트롤러를 생성했다. 컨트롤러에 서비스 메서드를 만들고 포스트맨으로 호출했는데 웬걸?! 서버가 전혀 반응을 안한다. 왜일까?

기본적으로 해봐야하는 것은 build 탭 > clean > 서버 재시작이다. 빌드가 제대로 안되어있으면 컨트롤러가 새로 생성된지도 모르기때문이다. 하지만 나는 여전히 반응하지않았다. 수석연구원님께 물어 알게된 것은 컴포넌트 스캔문제였다.

문제점

servlet-context.xml파일에서 아래처럼 컴포넌트 스캔 코드가 있는데 나는 테스트용 새로운 패키지인 com.test.preview를 만들고 그곳에다 신규 컨트롤러를 생성했다. 따라서 컴포넌트가 스캔이 되지않았던 것이다.

  • 기존코드
1
<context:component-scan base-package="com.test.controller" />




해결

콤마를 이용해서 베이스패키지를 추가해주면 해결!
감사합니다 김수석연구원님!

1
<context:component-scan base-package="com.test.controller,com.test.preview" />

Comments