今天爱分享给大家带来整合 spring 与 struts1 的方法,那种最好,为什么?【面试题详解】,希望能够帮助到大家。
1.第一种方法:
Struts 的 Action 继承 Spring 的 ActionSupport 类,并在 Action 中获取 Spring 的
ApplicationContext。这是最简单的一种整合方式,但有三个缺点:第一,Struts 与 Spring
紧密耦合,不能改换到其他 IoC 容器;第二,难以使用 Spring AOP 特性;第三,对于需要
使用 DispatchAction 的 Struts 应用无能为力。
2.第二种方法:
在 Struts 的配置文件中,以 Spring 的 DelegatingRequestProcessor 类代替 Struts
的 RequestProcessor 类 , 并 在 Spring 的 配 置 文 件 中 定 义 与 Struts 配 置 文 件 中
动作置于 Spring 的控制之下。这种整合方式的优点是将不再依赖 Spring 这个特定的 IoC
容器,但必须依赖 Struts 的 RequestProcessor 类。
3.第三种方法:
通过 Spring 的 DelegatingActionProxy 类代理 Struts 的动作,即在 Struts 配置文件
中,定义
类名,并在 Spring 配置文件中定义与 Struts 动作映射对应的 bean,从而将 Struts 的 Action
与 Spring 分开,并把 Struts 的动作置于 Spring 的控制之下。无疑,这是最灵活的一种整
合方式。
【分析】
注意一般说几种整合方式所指的就是 Struts1