论坛首页 Java企业应用论坛

怎样结合struts+spring才是合理的了?

浏览 29260 次
该帖已经被评为良好帖
作者 正文
   发表时间:2006-08-29  
刚开始接触spring没有多久,从一些教程上面看到了两种结合struts和spring的方法

第一种:
以struts的plugin的方式,让spring接管struts的action,至此这些action就存在于spring的配置文件中,并且可以进行任何spring bean的注入.好处就是方便,灵活,然后spring还能用非单例模式来执行action

第二种:
在appfuse看到的.写一个BaseAction,里边加入一些常用方法,比如获得spring的bean的方法
    public Object getBean(String name); {
        ApplicationContext ctx = 
            WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext(););;
        return ctx.getBean(name);;
    }

这种方式没有在struts里边加入spring的plugin.因此省略了多余的配置步骤,况且更加适合IDE工具的直接生成向导. 但是这种方法并不是把spring beans直接注入到action,而是通过刚才的方法去getBean(), 我觉得失去了一点灵活性.


不知道各位遇到这种情况没有,大家是选择的那种结合方式了?她们有什么优缺点?谢谢赐教.

p.s. 如果用第一种委托给spring的方法,怎么实现struts的DispatchAction功能了?
   发表时间:2006-08-29  
Caixiaopig 写道
刚开始接触spring没有多久,从一些教程上面看到了两种结合struts和spring的方法

第一种:
以struts的plugin的方式,让spring接管struts的action,至此这些action就存在于spring的配置文件中,并且可以进行任何spring bean的注入.好处就是方便,灵活,然后spring还能用非单例模式来执行action

第二种:
在appfuse看到的.写一个BaseAction,里边加入一些常用方法,比如获得spring的bean的方法
    public Object getBean(String name); {
        ApplicationContext ctx = 
            WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext(););;
        return ctx.getBean(name);;
    }

这种方式没有在struts里边加入spring的plugin.因此省略了多余的配置步骤,况且更加适合IDE工具的直接生成向导. 但是这种方法并不是把spring beans直接注入到action,而是通过刚才的方法去getBean(), 我觉得失去了一点灵活性.


不知道各位遇到这种情况没有,大家是选择的那种结合方式了?她们有什么优缺点?谢谢赐教.

p.s. 如果用第一种委托给spring的方法,怎么实现struts的DispatchAction功能了?



其實。。為什麼。。。有好好的 Spring MVC 不用咧
0 请登录后投票
   发表时间:2006-08-29  
因为要考虑到旧有系统的升级性还有就是开发人员的学习时间
0 请登录后投票
   发表时间:2006-08-29  
check out

http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/web/struts/AutowiringRequestProcessor.html
0 请登录后投票
   发表时间:2006-08-29  
谢谢,看过了,这个功能好像是从2.0开始的
但是目前用的是1.2版本
:)
0 请登录后投票
   发表时间:2006-08-29  
Caixiaopig 写道
谢谢,看过了,这个功能好像是从2.0开始的
但是目前用的是1.2版本
:)

有用2.0的新api么?按照这个样子自己写一个类似的不就OK了么
0 请登录后投票
   发表时间:2006-08-30  
楼主问,
p.s. 如果用第一种委托给spring的方法,怎么实现struts的DispatchAction功能了?
你们跑提了~~~,hehe
0 请登录后投票
   发表时间:2006-08-30  
nakata_yf 写道
楼主问,
p.s. 如果用第一种委托给spring的方法,怎么实现struts的DispatchAction功能了?
你们跑提了~~~,hehe

hoho,这个问题解决了,其实也不是问题,就象以前一样没有区别.
还是采用的第一个方法,用spring来接管action
因为如果采用autowire,要升级到spring2.0和struts1.3
如果自己看src来改,唯恐能力不足
0 请登录后投票
   发表时间:2006-10-12  
俺们现在用的就是第一种
0 请登录后投票
   发表时间:2006-10-12  
plugin,不知道有谁研究过这个!有什么好处,坏处!?
0 请登录后投票
论坛首页 Java企业应用版

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