본문 바로가기

디버깅/Spring mvc (Maven, Mybatis)

[Spring] No bean named 'memService' is defined 오류 디버그. 해결

반응형

에러직전 했던것

Eclipse + Spring + Maven 환경에서 기본적인 DB연동 과정에서 에러가 발생했다.

com.liante0904.test 패키지에 객체변경을 위해 

패키지명을 com.liante0904.test.controller 로 바꾼후 에러가 발생했다.


에러명 내역을 읽어 유추해보면 어노테이션과 의존성 주입에 문제가 생긴 것



해결단계

프로젝트 기초 작성중에 발생한 에러라면, 서비스 (혹은 interface)에 선언된

@Component  어노테이션과 


컨트롤러단에 선언된 @Resource 어노테이션이 일치하게 수정하고


에러가 해결되지 않는다면


Main/webapp/WEB-INF/Spring/appServlet/servlet-context.xml

의 <context:component-scan /> 에서 base-package 값을 

현재 진행중인 프로젝트의 패키지명과 일치하게 수정!


분명 패키지가 여러개로 많아질것이므로 상위 패키지명으로 수정해주면 된다.


나의 프로젝트를 예시로 든다면

<context:component-scan base-package="com.liante0904.test" />

의 형태로 작성한다.


이렇게 하면 이후에 생성할 패키지명들이

com.liante0904.test.package1

com.liante0904.test.package2

의 형태로 만들어 진다면 더이상 문제는 생기지 않는다.


참조 : http://kez1994.tistory.com/2

반응형