我在整合spring和mybatis的时候遇到了错误输出,说的是:
名为 'sqlSessionFactory' 的 Bean 必须是 [org.mybatis.spring.SqlSessionFactoryBean] 类型,但实际上是 [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] 类型
这是我的代码片段:
ApplicationContext context = new ClassPathXmlApplicationContext("spring_mybatis_integration/spring_config.xml");
SqlSessionFactoryBean sqlSessionFactoryBean = context.getBean("sqlSessionFactory", org.mybatis.spring.SqlSessionFactoryBean.class);
这是我在 xml 中的 bean 定义:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="spring_mybatis_integration/mybatis_config.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
如您所见,在 java 代码和 xml 文件中,我将 beansqlSessionFactory
与 class相关联org.mybatis.spring.SqlSessionFactoryBean
,为什么错误输出告诉我另一个非相对类名org.apache.ibatis.session.defaults.DefaultSqlSessionFactory
?
非常感谢!
版本信息:
- mybatis 3.1.1
- 春天 3.2.0
- mybatis-spring 1.1.1