论坛首页 Java企业应用论坛

webwork和Spring结合后,使用spring的 IOC的问题

浏览 3437 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-03-16  
如果在webwork中使用spring的IOC,我希望写一个 BaseAction继承Action,ActionSupport,把Spring中配置的Dao注入到这个BaseAction中,其他Action只要继承他就可以了,但是webwork中要求写每个Action都要如下配置:
<action name="HelloAction" class="com.adigio.actions.HelloAction">
    <external-ref name="actionDAO">MainDAO</external-ref>
    <interceptor-ref name="defaultStack"/>
</action>

也就是说每个每个Action必须对应一个Dao,也就是说我希望Action子类使用父类的Dao而在子类中不注入这个Dao是不可能的(如果在子类Action中不配置external-ref,Dao得到的为空,必须也为子类中也配置这个Dao).这样继承的优点就用不到了,谁有什么好方法?
   发表时间:2005-03-16  
http://forum.iteye.com/viewtopic.php?t=9990
用第三种ActionAutowiringInterceptor
或参考一下jert
0 请登录后投票
   发表时间:2005-03-16  
yb31 写道
http://forum.iteye.com/viewtopic.php?t=9990
用第三种ActionAutowiringInterceptor
或参考一下jert

多谢,但我希望用第二种,有办法么?
0 请登录后投票
   发表时间:2005-03-16  
我喜欢这样用,不过恐怕要被人骂了
public class SomeAction {
    ....
    public String execute(); throws Exception {
        ....
        Manager.getUserManager.sotre(user);;
        .....
    }
}

public class Manager {
    ...
    public static UserManager getUserManager(); {
        return (UserManager);SpringContainer.getComponent("userManager");;
    }
...
}
0 请登录后投票
   发表时间:2005-03-18  
z_jordon 写道
我喜欢这样用,不过恐怕要被人骂了
public class SomeAction {
    ....
    public String execute(); throws Exception {
        ....
        Manager.getUserManager.sotre(user);;
        .....
    }
}

public class Manager {
    ...
    public static UserManager getUserManager(); {
        return (UserManager);SpringContainer.getComponent("userManager");;
    }
...
}


在Action级别不能用到继承的优点,真是不方便,这样我就要在每个Action中都注入Dao了,但我看到 Hibernate站上GavinKing写的 adminapp web程序确实使用Action继承达到这个目的的,但是他用的是Webwork的IOC 注入,而不是Spring的,不知道有什麽区别
0 请登录后投票
   发表时间:2005-03-18  
使用webwork+spring的第二种结合方式,然后用spring的继承可以做到.

你的好像是第一种方式.
0 请登录后投票
   发表时间:2005-03-18  
scud 写道
使用webwork+spring的第二种结合方式,然后用spring的继承可以做到.

你的好像是第一种方式.


你说的是用 spring里面的parent属性做到么?
0 请登录后投票
   发表时间:2005-03-18  
是的
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics