스프링 오류 - Could not resolve type alias '패키지명.클래스명'
스프링 오류
오류 메시지 상세 내용 중 일부(예시)
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\Users\Administrator\Documents\workspace-spring-tool-suite-4-4.7.0.RELEASE\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\spring\WEB-INF\classes\mappers\BoardMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'kr.green.spring.vo.BoardVo'. Cause: java.lang.ClassNotFoundException: Cannot find class: kr.green.spring.vo.BoardVo
원인
- BoardMapper(XML파일)에서 select로 작업할 때 발생할 수 있는 에러
- resultType으로 BoardVo를 설정했는데 BoardVo를 찾지 못해서 발생
해결
- servlet-context.xml파일에서 component-scan의 base-package를 모든 패키지가 포함되도록 수정해야함
1 2 3 4 5 | <!-- 수정전 --> <context:component-scan base-package="kr.green.spring.controller" /> <!-- 수정후 : BoardVo가 kr.green.spring.vo 패키지에 있는 경우 --> <context:component-scan base-package="kr.green.spring.*" /> | cs |