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条)

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧