Struts2整合Spring之一:双方的分工
引入一个Struts整合Spring的简单例子,来说明两者的分工。
分工总体来讲:struts仍然通过Action来接收jsp传来的数据,处理后进行跳转;spring仍然只负责把具体实例注入。但spring这次要在合适的时候,把service实例注入struts管理的Action之中,struts要通过配置 允许spring来管理整个实例化的过程。
所以struts是主导、是管理者,只有struts需要某个实例的时候,才会管spring去请求被注入,spring只是配合注入所需实例。
具体的变化:
1.引入struts2-spring-plugin,使得struts能够管spring去要实例
2.web.xml :加入spring的Listener、加入spring配置文件(applicationContext-common.xml)的地址
3.applicationContext-common.xml :要把service注入到struts管理的Action里(原来都是注入到DAO里)
4.具体的Action :聚合一个Iservice对象,留有setter接口 ,等待spring注入之
我是用struts的例子里边加的spring的配置,
除了原有的struts过滤器,还要加入spring的监听器,让spring在适当的时候能注入
<!-- 用来定位Spring XML文件的上下文配置 --><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value></context-param>