Spring、Hibernate与Struts集成的大概思路

开发 后端
这篇文章是笔者在再次读了《Spring Guide》后的一些总结。由于本人最熟悉的是Struts,而对Spring、Hibernate还没有很多的实践经验,所以虽然这篇文章讲的是三者的集成,但主要还是以Struts为中心。

首先看一下Struts与Spring的集成。

首先看一下在struts-config.xml中需要做的改动,最开始是加入插件声明:

  1. <struts-config>   
  2.   <plug-in   
  3. className="org.springframework.web.struts.ContextLoaderPlugIn">  
  4.    <set-property property="contextConfigLocation"   
  5.      value="/WEB-INF/applicationContext.xml" />   
  6.   </plug-in>   
  7. </struts-config>  

还有一个需要在Struts配置文件中改的是它的ActionMapping部分,这个在后面再说。

事实上Struts中加入Spring并不是很复杂,最重要的是我们需要清楚系统是不是一定要Spring,即Spring的所谓依赖注入等特性对开发的意义是不是要大于使用Spring后增加的开发成本。

下面用图来说明Struts与Spring结合后的程序运行基本流程:

如上所示,Struts与Spring集成最重要的一点就是改变struts-config.xml中的Action-Mapping设置,在进入Struts的Action之前,Spring就获得了控制权。
Spring和Struts集成的部分就先说到这里。
 
有关Struts和Hibernate的集成,内容不是很复杂,我归纳了以下几个要点:

1、Hibernate-Context.xml

这个文件的<bean>项中需要设定SessionFactory属性,Spring已经整合了SessionFactory设置,所以无需hibernate.cfg.xml再设了。同时,这个项中也可以设定映射文件.hbm.xml的列表。

2、DAO继承HibernateDaoSupport,以调用其函数

HibnernateDaoSupport实现了HibernateTemplate与SessionFactory的关联。HibernateTemplate(用HibnernateDaoSupport里的getHibernateTemplate()可以获得)对Hibernate Session进行了封装,可省去获得Session实例、事务启动与提交/回滚以及异常处理等一系列步骤,所以非常简单。

上面从两个方面讲了Struts、Spring和Hibernate三者的集成,***简单归纳一下:

通过修改Struts的配置文件,Spring得以获得对Struts中Action的控制权,同时也将Spring的特性加入了Struts。而与Hibernate结合以后,通过利用上述的Spring特征,简化了数据库操作。

【编辑推荐】

  1. 让DWR和Spring一起工作
  2. Java程序员学习Flex和BlazeDS的十三个理由
  3. 用JavaFX编写用户界面控制器
  4. Java WEB开发中的中文乱码问题解决
  5. 总结Java Web中几个函数的作用
责任编辑:彭凡 来源: 51cto.com
相关推荐

2009-09-22 14:46:18

struts-spri

2009-09-22 17:55:51

Spring Hibe

2009-03-06 14:34:31

StrutsHibernateSpring

2009-06-04 10:44:34

StrutsHibernate配合

2009-09-25 17:47:35

Struts+Hibe

2009-06-19 15:52:58

Struts和Spri

2009-06-30 17:03:49

Spring集成Str

2015-05-05 11:06:02

JavaJava框架Struts+Hibe

2009-09-24 09:18:18

2009-06-03 09:16:03

Hibernate工作原理使用

2009-06-18 15:56:49

Struts和Spri

2009-03-24 10:30:35

SpringStruts集成

2009-09-21 18:13:11

Hibernate S

2009-07-09 18:24:00

WebWork与Spr

2011-05-13 09:53:02

strutsAjax

2009-06-26 17:15:44

Struts2

2009-06-17 15:18:38

JSF与Spring

2009-09-28 15:14:45

Hibernate S

2011-05-19 09:52:48

SSH

2009-06-04 10:58:15

strutshibernate分页
点赞
收藏

51CTO技术栈公众号