개발환경
- 윈도우
- java 1.8
- tomcat 8.0
문제상황
Dao를 작성해서 autowired 하려고 하니 안되는 상황,
에러를 자세히 읽어보니 dao안에 autowired된 sqlSession부터가 문제
에러
Could not autowire field: private org.mybatis.spring.SqlSessionTemplate
No qualifying bean of type [org.mybatis.spring.SqlSessionTemplate] found for dependency
해결방법
- Dao의 class 상단의 어노테이션 확인 : @Repository 또는 @Service
- applicationContext.xml에 bean으로 등록 (dao, sql)
- 코드 추가
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:/mapper/config/mybatis-config.xml"></property> </bean> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSession"/> </bean> <context:component-scan base-package="myybean"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>