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 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误