[error] spring - Could not autowire field: private org.mybatis.spring.SqlSessionTemplate

공수정·2021년 10월 25일
0

error

목록 보기
3/10
  • 개발환경
    - 윈도우
    - 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

  • 해결방법

    1. Dao의 class 상단의 어노테이션 확인 : @Repository 또는 @Service
    2. applicationContext.xml에 bean으로 등록 (dao, sql)
    3. 코드 추가
      <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>
profile
계속해서 공부하는 개발자입니다 :)

0개의 댓글