问题描述
<bean id="mapDao" class="org.mybatis.spring.MapperFactoryBean"><!-- 这里是接口,不是接口实现类了 --> <property name="mapperInterface" value="com.ssm.iface.IUserDao"/><property name="sqlSessionFactory" ref="sqlSessionFactory"/></bean> 这里org.mybatis.spring.MapperFactoryBean中的mapperInterface是做什么用的,他的value为什么指向的是接口,而不是接口的实现类俺是新手不懂,求解释,小生在此拜谢各位大侠了 问题补充:<pre name="code" class="java"></pre><br /><pre name="code" class="xml">&lt;bean id="mapDao" class="org.mybatis.spring.MapperFactoryBean"&gt;<br />&lt;!-- 这里是接口,不是接口实现类了 --&gt;<br /> &lt;property name="mapperInterface" value="com.ssm.iface.IUserDao"/&gt;<br />&lt;property name="sqlSessionFactory" ref="sqlSessionFactory"/&gt;<br />&lt;/bean&gt;</pre><br /><pre> 这里<span style="font-size: small;"><strong><span>org.mybatis.spring.MapperFactoryBean</span></strong></span>中的<strong><span>mapperInterface</span></strong>是做什么用的,他的value为什么指向的是接口,而不是接口的实现类</pre><br /><p>俺是新手不懂,求解释,小生在此拜谢各位大侠了<img src="/images/smiles/icon_biggrin.gif" alt=""></p><br /><p> </p>
解决方案
引用<bean id="mapDao" class="org.mybatis.spring.MapperFactoryBean"> <!-- 这里是接口,不是接口实现类了 --> <property name="mapperInterface" value="com.ssm.iface.IUserDao"/> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> 大概明白你的意思,是否想说有多个接口时该如何实现?如果有多个接口,那无非是多定义几个MapperFactoryBean,这里的mapperInterface值不一样而已,当然id记得不要取值一样了。
解决方案二:
mapperInterface之所以指向接口这是由mybatis决定的,mybatis本身为我们提供了接口的实现,所以我们在定义接口后就可以使用了,而不用再去实现接口,相信这是文档中首先介绍的吧,仔细去官方下个文档看看吧。