读书人

Struts1.3与Spring以底入侵方式集成

发布时间: 2012-08-31 12:55:03 作者: rapoo

Struts1.3与Spring以底侵入方式集成

以前都是用webwork,最近因为遗留项目的维护,捣腾起struts1.x,原先的代码到处充斥着ApplicationContext.getBean的代码,实在没法容忍,上网找了struts和spring集成的例子,基本上都是struts1.3以前版本的代码,很不优雅。struts1.3和之前版本相比,使用command-chain来处理请求,有点类似于webwork的拦截器,下面介绍下整个实现思路,欢迎批评指正。

1、首先需要一个ServletContextListener,用于获取Spring的ApplicationContext实例(使用Quake Wang的jert的代码),具体请参考附件源码

2、定义ComponentAutowireInterceptor实现ActionCommon接口,以实现spring bean的注入,这里为了方便,直接从CreateAction继承:

        .... <!--command className="org.apache.struts.chain.commands.servlet.CreateAction"/--> <command className="struts.demo.command.ComponentAutowireInterceptor"/><!--替换原先的CreateAction-->....



        Struts的Action无需实现任何接口,也不需要特别的配置,就可以自动实现spring bean的注入。

        ?

        原文摘自:http://balaschen.iteye.com/blog/113507

        ?

读书人网 >软件架构设计

热点推荐