1、在项目中加入struts/lib/struts2-spring-plugin-2.2.jar Struts2整合Spring的插件。
2、有两种方式可以进行整合:
1> 在struts配置文件中配置的Action的class属性时不指定Action的实际实现类,而指定为Spring容器总的BeanID,直接通过Spring容器去获取Action对象并进行相应的处理。
注意:在这样的配置下,Spring中Bean的属性里面要配置Scope,该属性值可指定为prototype和request,因为每个Action对应一次用户 请求且封装该次请求的状态信息。这种做法的优点是充分利用了IOC特性,
缺点是:Spring管理Action,必须将所有的Action配置在Spring容器中,而struts.xml中也要配置一个“伪Action”导致配置文件臃肿、冗余;Action的业务逻辑组件接收容器注入,导致代码可读性降低。
2>传统的struts配置,在Action中使用Spring自动装配,
注意:Spring插件负责为Action自动装配业务逻辑组件,
优点是简化配置文件。
缺点是:Action与业务逻辑组件的耦合降低了代码层次,必须在配置文件中配置Action所需控制器同名的业务逻辑组件,不利于高层次解耦;Action接受Spring容器的自动装配,代码可读性较差。