Bean named 'sqlMapClient' must be of type [org.springframework.orm.ibatis.SqlMap

在整合spring2.5和ibatis2,出现了ibatis的jar包问题。
Bean named 'sqlMapClient' must be of type [org.springframework.orm.ibatis.SqlMapClientTemplate], but was actually of type [com.ibatis.sqlmap.engine.impl.SqlMapClientImpl]


可是在配置文件中明明指定SqlMapClientFactoryBean
      <bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>
classpath:com/shangwang/persistance/sqlmap/SqlMapConfig.xml
</value>
</property>
<property name="dataSource" ref="dataSource" />

</bean>

怎么程序还依然调用ibatis的SqlMapClientImpl!

呵呵,原来DAO这块,我使用spring2.5byType注入,改成byName。
在spring配置文件中加入:
default-autowire="byName" default-lazy-init="false">  
即可。
配置了这个属性项后,spring会对bean的属性自动按name去寻找,

如果找到则set进去,而不必对Bean的属性进行显式的Set。

你可能感兴趣的:(DAO,spring,bean,orm,ibatis)