spring3 ibatis SqlMapClient和SqlMapClientTemplate注入的问题

发布于 2021-11-26 03:36:08 字数 773 浏览 907 评论 9

哪位大虾 解释一下  SqlMapClient和SqlMapClientTemplate的区别,看到好多资料 先在Dao里注入template 然后再在Template 里注入 SqlMapClient。有的说是 直接注入SqlMapClient就可以,这两种方式异同何在?

还有一个问题是 在beans.xml 里注入

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
   <property name="configLocation" value="SqlMapConfig.xml"/>
   <property name="dataSource" ref="dataSource"></property>
  </bean>

然后在dao的bean里引入<ref bean="sqlMapClient"/>

这种方式 OK

 

如果不用xml去注入dao 改成全注解  并且dao是继承SqlMapDaoSupport的 

这个时候 会报错 说 sqlMapClient is  required。注解方式怎么解决这个问题呢

 

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

甜扑 2021-12-01 08:13:11

我晕,还好搜到你们这个问题 我找好了久了用springMvc+ibatis 结果老是报错说没有“sqlMapClient”

不乱于心 2021-12-01 08:11:57

嗯,大家在开发过程中都是这么做的么?还有没有其他办法

风苍溪 2021-12-01 08:05:32

@王威 : 我觉得,这样就OK了,只在一个类中定义就可以了。跟XML注入是一样的

看透却不说透 2021-12-01 08:01:21

恩,现在我也这么弄的。有什么更好的法子,在共享哈

画骨成沙 2021-12-01 07:54:44

 做一个类继承SqlMapClientDaoSupport,之后使用下面代码进行注入:

@Autowired
    public void setSqlMapClientForAutowire(SqlMapClient sqlMapClient) {
        super.setSqlMapClient(sqlMapClient);
    }

奢望 2021-12-01 05:01:33

把类SqlMapClientDaoSupport.java 的源码,改一下改成注入方式,

@Autowired

public final void setSqlMapClient(SqlMapClient sqlMapClient) {

if (!this.externalTemplate) {

this.sqlMapClientTemplate.setSqlMapClient(sqlMapClient);

}

}

因为应用启动时,是先加载classes目录的class文件,再加载jar的class文件。

半世蒼涼 2021-12-01 00:00:54

把类SqlMapClientDaoSupport.java 的源码,改一下改成注入方式,

@Autowired

public final void setSqlMapClient(SqlMapClient sqlMapClient) {

if (!this.externalTemplate) {

this.sqlMapClientTemplate.setSqlMapClient(sqlMapClient);

}

}

因为应用启动时,是先加载classes目录的class文件,再加载jar的class文件。

悸初 2021-11-30 22:32:37

等待啊



终止放荡 2021-11-26 10:39:59

写个注入果然好了!哈哈哈哈!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文