转载 stuts2与spring集成
来源:互联网 发布:政府机构的域名 编辑:程序博客网 时间:2024/06/02 07:18
这次先来看一下Sturts2和Spring的集成合并。其实挺简单的,就是导入各自的jar包以及连接彼此的jar包,分好彼此的工作就可以了。
好看一下Struts2+Spring的集成方案!
Struts2和Spring集成有两种方案,是根据action的创建来划分的!
方案一,Struts2负责流程,Spring负责对象的创建;Action由Struts2框架负责创建;Service由Spring框架负责创建。看一下其实现的一个例子的步骤:
1,集成Struts2框架到项目中,搭建Struts2框架环境,这个可以看我们的Struts2(一)——总体介绍,步骤和那个是一样的。
2,集成Spring框架到项目中,搭建Spring框架环境,这里也可以看一下Spring(一)——总体介绍。但是这里我想说一下,导入我们的jar包,和拷贝好两个配置文件后,为了是我们项目在加载时就初始化解析applicationContext.xml,并创建相应的各种对象。我们在web.xml中可以添加框架的监听器:
3,这样两者的各自环境就算搭建好了,那么如何进行两者的集成合并呢?这里Struts2为我们提供了jar包:struts2-spring-plugin-2.1.8.1.jar。我们需要将此jar包也引用到项目中。这样两个框架就可以通过此jar包进行合并集成了。
简单说一下这个jar包的作用吧:插件中提供了新的工厂类,覆盖了Struts2的原工厂类。新工厂类的工作原理:首先根据Action的完整类名,到Spring配置文件中查询bean标签的id是否存在一致的名称。如果有一致的说明,Action对象是由Spring负责创建,并有Spring进行装配组合对象之间的关系。 如果查找不到,会进行特殊的处理操作,再由Strtus2框架进行反射创建Action对象,并采用Strust2框架的自动装配功能来完成Action和Service对象的关联。默认是根据name进行查找的,当然我们也可以进行修改,例如改成以type类型进行查找的方式:
<constantname="struts.objectFactory.spring.autoWire"value="type"></constant>
4,这样环境就算搭建好了,看看我们各个配置文件中的代码吧,重点看注释:
a,web.xml中配置了两个框架的核心配置文件:
b,struts2.xml,配置了action类:
c,applicationContext.xml中配置了service类:
对于action、service和jsp的代码较简单登录的功能,很容易实现的。其实看完了,感觉这种集成合并的方式Struts2和Spring都是各自干各自的,集成的不是很好。因为Sping是容器么,对对象的管理更为专业,Struts2对流程的控制更加专业。所以这种方式很少使用,不推荐。看我们的第二种集成方式,也是常用的集成方式。
方案二,Struts2负责流程,Spring负责对象的创建,Action和Service都由Spring框架负责创建。这是常用的集成合并方案。步骤和上边的基本上一样,都是导入响应的jar包,拷入响应的配置文件,web.xml文件的写法也一样。主要看一下两个框架核心配置文件的和第一种方案的写法区别:
1,struts2.xml的写法:
2,applicatinContext.xml的写法:
这样就实现了二者的合并了,主要是将action交给Spring创建,并组合彼此的关系了,是彼此框架只干自己的事,分工明确,提高效率。
综上,为Struts2和Spring的简单合并总结,例子较为简单,还需要在实践中体会,灵活应用框架才会是我们的开发变的更为高效,更为简单。通过编程,通过框架仔细琢磨其中的魅力,用心钻研,才会有更大的收获。
- 转载 stuts2与spring集成
- SSH----stuts2 和spring
- jms activeMQ与spring集成进阶篇(转载)
- jms activeMQ与spring集成进阶篇(转载)
- jms activeMQ与spring的集成(转载)
- Tapestry3 与 Spring 集成
- struts2.与spring集成
- CXF与spring集成
- CXF与spring集成
- CXF与spring集成
- struts2.与spring集成
- CXF与spring集成
- CXF与spring集成
- Spring 与Aspectj集成
- flex与spring集成
- Struts2与Spring集成
- Spring与Struts集成
- Spring与DWR集成
- 简单的tomcat集群
- ubuntu 14.04-LTS 系统下安装搜狗输入法
- Linux下tomcat部署图片服务器与 vsftpd搭建
- easydss与linux内核接收网络数据流程(三)
- 《python第8章习题》
- 转载 stuts2与spring集成
- CSS3新增属性总结
- 【腾讯TMQ】【Android场景化性能测试专栏】CPU耗电性能篇
- idea 使用搜狗输入法中文卡字的问题
- [Java--常见排序算法]------堆排序 (Heap Sort)
- python的文件处理
- navicat for java设计表时长度的作用
- logstash日志分析的配置和使用
- ubantu install mongo