一、启动Spring容器
对于使用Spring的Web应用,无需手动创建Spring容器,而是过配置文件,声明式地创建Spring容器。因此在Web应用中创建Spring容器的方法有如下两种:
1)直接在web.xml文件中配置创建Spring容器。(常用这种方式)
2)利用第三方MVC框架的扩展点,创建Spring容器。
二、让Spring管理控制器
1) 将struts-2.3.3-all / lib / struts2-spring-plugin-2.3.3.jar 添加到web 项目的lib文件夹下
2) struts.xml文件在配置action时,单独使用struts2时action的class属性填写的是具体的action实现类,但整合以后使用的是交由spring管理的action的id名称。
struts2单独使用时:
struts2和spring整合后:
注:1) 当使用Spring容器来管理Struts2的Action时,由于每个Acttionc对应一次用户请求,且封装了该次请求的状态信息,所以不应将Action配置成单例模式,因此必须指定 scope属性,该属性值可指定为prototype和request两种。
2) Struts2和Spring整合以后 struts.xml中配置的是一个伪Action,当用户发送一条请求时,请求会先传达到伪Action,然后伪Action再去调用spring管理且注入好的真 正Action,调用完毕后将结果视图返回给客户。
还有一种Struts2和Spring整合的方法:" 使用自动装配 " , 虽然这种方式大大降低了xml配置的代码量,但却降低依赖关系的透明度和清晰度,也不利于后其维护及升级。