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

10年01月29日

这篇文章是笔者在再次读了夏昕的《Spring Guide》后的一些总结。由于本人最熟悉的是Struts,而对Spring、Hibernate还没有很多的实践经验,所以虽然这篇文章讲的是三者的集成,但主要还是以Struts为中心。
    首先看一下Struts与Spring的集成。
    首先看一下在struts-config.xml中需要做的改动,最开始是加入插件声明:

Java代码

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

    还有一个需要在Struts配置文件中改的是它的ActionMapping部分,这个在后面再说。
    事实上Struts中加入Spring并不是很复杂,最重要的是我们需要清楚系统是不是一定要Spring,即Spring的所谓依赖注入等特性对开发的意义是不是要大于使用Spring后增加的开发成本。
    下面用图来说明Struts与Spring结合后的程序运行基本流程:

 

a5cdf533-21d5-3f35-bd46-ad075fbacfd1

 

    如上所示,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. Struts2+Spring+Hibernate整合入门详解
  2. 【Struts2学习要点】如何设置开发模式
  3. 初学者如何学习J2SE直到J2EE相关进阶视频点评
  4. 一个程序员的多年珍藏(1月23日最新更新)
  5. Apache+Tomcat+Php+Mysql的集成



  • 原文链接: http://www.astesys.com/softdev/java/629.html
  • 转载文章请注明: 爱思特
  • Tags: , , 分类: Java

    发表评论