[Spring]
[Spring] Bean 객체 생성 에러
그녕쓰
2020. 11. 23. 17:31
회사 에서 스프링 설치부터 설정까지 처음으로 해보고 있었다.
pom.xml 부터 log4j.xml 까지 다루었고
오라클 디비에 연동하여 sql 테이블에 데이터 Insert를 진행해보려 MVC 패턴으로
화면 - Controller - service - serviceImpl - vo - mapper 를 순서대로 만들고
시작하려고 했지만 이러한 에러가 떴다...ㅠ
NFO : org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'appServlet'
WARN : org.springframework.web.context.support.XmlWebApplicationContext
- Exception encountered during context initialization
- cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'memberController': Unsatisfied dependency expressed through field 'service'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.spring.test.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
ERROR: org.springframework.web.servlet.DispatcherServlet - Context initialization failed
구글링을 해보니 Controller , serviceImpl 에 어노테이션이 빠져 있거나,
mapper.xml 의 오타 문제라고 하여 수정 해보았지만 여전히 같은 에러가 나서
servelet-context.xml 과 root-context.xml 의 설정을 확인해보란 글을 본 결과
// servelet-context.xml
<context:component-scan base-package="com.*.*.**.**" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
// root-context.xml
<context:component-scan base-package="com.react.server.**.**" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component" />
</context:component-scan>
위 두개의 context를 추가 시켜줘야 했다.
하나는 Controller 어노테이션 관련 context 이고, 다른 하나는 Service, Repository 관련 context 였다.
추가 후 시작한 결과 깔끔하게 화면이 나왔고, 디비에 데이터 insert까지 말끔하게 되었다.
2021.11.12 추가
Failed to parse config resource: class path resource
spring Error registering typeAlias for 'appVo'
mybatis-config.xml 파일 의 sqlSessionFactory 부분이 에러가 나서 보니 VO 파일을 찾을수 없다고 한다.
구글링을 한 결과 project - clean을 하고 프로젝트와 자바 버전이 맞는지 체크하라고 하여
clean과 버전을 다시 체크하고 실행시켜보니 성공했다.