iteye_9494 2009-09-01 20:46
浏览 227
已采纳

关于Spring 2.5里面的基于注解的配置的一些疑惑

开门见山吧

第一个问题:Spring和iBatis整合的时候,我让一个Dao继承SqlMapClientDaoSupport,我怎样用注解注入sqlMapClient?我不想action和service都用注解注入,但是我的dao得用xml注入。(当然有人会说,可以抽象出一个父类dao,由它在xml里面注入sqlMapClient,然后子类dao就可以用注解注入了,这倒可以的。那有没有直接点的方法呢?)

第二个问题:单元测试的时候,@Resource注解注入有效,比如在service里面注入dao。到web程序上去跑,就null了,action里面注入的service是null,service里面注入的dao也是null,改成@Autowired就OK了,但是这种现象如何解释呢?而且我不太喜欢用@Autowired,似乎感觉它的效率要差点。

大家知道的给我讲讲吧。

补充一点:MVC框架用的是struts 2.我之前用struts 1 + JPA + spring 2.5时,没有出现@Resource注解注入无效的情况。
看了 http://www.iteye.com/topic/226937 后,第一个问题解决了。
问题补充

在xml中配置1个 spring提供的ibatis模板所需的那个属性,然后写一个dao的超类,用方法注入该属性,这样所有的子类都可以了;

单元测试,你自己想办法获得spring ioc容器不就行了,这可能与测试框架有关


单元测试,我肯定获得spring ioc容器了啊,要不怎么进行IoC啊
  • 写回答

3条回答 默认 最新

  • iteye_15225 2009-09-01 21:02
    关注

    @Resource和@Qualifier 可以根据name获取Bean;如果不希望使用这种方式,那么就在保证只有一个Bean的情况下直接使用@Autowired;当然@Autowired和@Qualifier也可以一起用。

    LZ说一下自己是怎么做UT的吧,是使用如下方式吗?

    [code="java"]
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = { "classpath:applicationContext-test.xml" })
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?