`
朱嘉华
  • 浏览: 238243 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

在Spring与Hibernate和Struts的整合 各起作用

阅读更多

框架层次结构层次分为四层:表现层、持久层、业务层、域对象层。每个框架分别负责一个层次的实现,表现层我们使用Struts, 业务层使用Spring, 持久层使用Hibrenate。每层在应用程序中都有明确的责任。每一应用层彼此独立且保持一致。这些框架层次在以一种松散耦合的方式彼此作用而不用管低层的技术细节。

 

组装Struts SpringHibernate框架-2 表现层

 

    

 

Struts是框架的表现层,Struts是对MVC构架的具体实现。它提供了一种便利的方式,可以用于将模块化的应用程序清楚地分成逻辑、表示和数据。

组装Struts SpringHibernate框架-2.1 StrutsMVC结构

    

StrutsMVC三层结构[3]:

视图层:Struts采用JSP作为MVC的视图。每一视图都是采用了定制标签库的JSP页面,这些定制标签库则由Struts框架提供。全部表单元素都是用定制标签编码的,所以这些页面能够很方便地同控制器交互。每一个表单都通过映射JSPServlet的请求这一方式指向控制器特定入口点。

控制层:控制器就是Java Servlet,由Struts框架提供,负责视图和模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的Java类以进行相应的处理,控制器还指定下一个视图的位置。

模型层:JavaBean就是模型的代表。对进入控制器的每个入口点来说,Bean的作用是存储从视图获取的信息,同时被称为“动作类”,一种Java类则被指定为对表单输入采取行动。动作类(Action Class)实现了业务逻辑。

Struts MVC结构图

组装Struts SpringHibernate框架-2.2 Struts框架的优势

 

    

 

Struts是当今流行的JSP Web框架。 Struts框架是一种基于Java的技术,Web应用程序开发人员通过它可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。Struts提供了一种创建具有良好可管理性的Web应用框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。

Struts的优点主要集中体现在如下[4]:

(1) Struts 将业务数据、页面显示、动作处理进行分离,有利于各部分的维护。

(2) Taglib Struts 的标记库,其灵活运用能大大提高开发效率。

(3) StrutsValicator可以帮助完成验证工作,避免重复编写验证代码工作,减少了开发工作量,实现验证代码集中管理,其维护方便。

(4) 页面转发可以使系统的脉络更加清晰,可以在很大程度上提高系统的维护性,将是今后的一个发展方向。

(5) 通过Struts 提供的ActionForm封装web form中的元素,使重用web表单成为可能。

 (6) Struts 采用 Front Controller模式来实现动作处理,让所有的动作请求都是经过一个统一入口,然后进行分发。该方式方便人们在入口中加入一些全局控制代码的实现,如安全控制、日志管理等。

组装Struts SpringHibernate框架-2.3 Struts框架负责的工作

 

    

 

下面是Struts在框架结构中所负责的工作:

(1) 为用户管理请求和响应;

(2) 提供一个控制器代理调用业务逻辑和其它上层处理;

(3) 处理从其它层掷出给一个Struts Action的异常;

(4) 为显示提供一个模型;

(5) 执行用户接口验证。

组装Struts SpringHibernate框架-3 业务层

 

    

 

Spring实现了反转控制Inversion of Control)和面向方面编程(Achievement-Oriented Programming)Spring框架的能实现应用的分层架构,分层架构允许您选择使用哪一个组件。在应用中要使用的对象可以被一个简单的XML文件连在一起,这个XML文件含有到像事务管理器、对象工厂、包含业务逻辑的服务对象、和数据存取对象这些对象的引用。

组装Struts SpringHibernate框架-3.1 Spring框架的体系结构

    

Spring是框架的业务层,这个框架是一个分层架构,由 7 个定义良好的模块组成。如图3.3所示Spring体系结构。

 

Spring 框架体系结构

组装Struts SpringHibernate框架-3.2 Spring框架的优势

 

    

 

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,其主要优势有如下几点:

(1) Spring能有效地组织你的中间层对象。

(2) Spring能消除在许多工程中常见的对Singleton的过多使用。

(3) 通过一种在不同应用程序和项目间一致的方法来处理配置文件,消除各种自定义格式的属性文件的需要,仅仅需要看看类的JavaBean属性。反转控制的使用帮助完成了这种简化。

(4) Spring能够帮助我们真正意义上实现针对接口编程。

(5) Spring的设计会让使用它创建的应用尽可能少的依赖于它的APIs,在Spring应用中的大多数业务对象没有依赖于Spring

(6) 使用Spring构建的应用程序易于单元测试。

(7) Spring使EJB成为一个实现选择,而不是必需的选择。你可以用POJO或当地EJB来实现业务接口,却不会影响到调用代码。

(8) Spring能使用AOP提供声明性事务管理,可以不直接操作JTA也能够对事务进行管理。

(9) Spring为数据存取提供了一个一致的框架,不论是使用JDBC还是O/R mapping的产品。

(10) MVC Web框架,提供一种清晰,无侵略性MVC实现方式。

组装Struts SpringHibernate框架-3.3 Spring框架负责的工作

 

    

 

Spring业务层在框架中负责下面这些事情:

(1) 管理事务;

(2) 预留和其它层交互的接口;

(3) 管理业务层对象之间的依赖;

(4) 增加在表现层和持久层之间的灵活性,使它们互不直接通讯;

(5) 从表现层中提供一个上下文给业务层获得业务服务;

(6) 管理从业务逻辑到持久层的实现;

(7) 处理应用程序的业务逻辑和业务验证;

组装Struts SpringHibernate框架-4 持久层

 

    

 

Hibernate是一种ORM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBCSQL来手工操作数据库,使用Hibernate,可以大大减少操作数据库的工作量。Hibernate可以和多种Web服务器或者应用服务器良好集成。

组装Struts SpringHibernate框架-4.1 Hibernate框架的体系结构

 

    

 

Hibernate框架的体系结构图如图所示。

Hibernate的体系结构图

组装Struts SpringHibernate框架-4.2 Hibernate框架的优势

    

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSPWeb应用中使用,Hibernate还可以在应用EJBJ2EE架构中取代CMP,完成数据持久化的重任。

Hibernate框架的优势有下面几点:

(1) Hibernate具有可扩展性;

(2) Hibernate既适用于独立的Java程序,也适用于Java Web应用,而且还可以在J2EE架构中取代CMP,完成持久化任务,Hibernate能集成到会话EJB和基于BMP的实体EJB中;

(3) Hibernate可以和多种WEB服务器,应用服务器良好集成,并且支持所有的数据库服务器;

(4) Hibernate有详细的参考文档,使用方便,容易上手。

组装Struts SpringHibernate框架-4.3 Hibernate框架负责的工作

 

    

 

下面是Hibernate持久层在框架中所负责的工作:

(1) 查询相关的信息成为对象。

Hibernate通过HQL的面向对象的查询语言或者使用条件表达式API来做这个事情。HQL非常类似于SQL。只是把SQL里的tablecolumnsObject和它的fields代替;

(2) 保存、更新、删除储存在数据库中的信息;

Hibernate这样的高级“对象-关系”映射框架提供对大多数主流SQL数据库的支持,它们支持“父/子”关系、事务处理、继承和多态。

组装Struts SpringHibernate框架-5 域对象层

 

    

 

域对象层,也叫DAO访问层,它负责封装底层的数据访问细节,不仅可能使概念清晰,而且可以提高开发效率。

组装Struts SpringHibernate框架-5.1 域对象层负责的工作

 

    

 

域对象层主要做两件事:

(1) 编写相关接口: DAO类一般要使用Spring的声明式事务机制,而声明式事务机制是使用Spring AOP来实现的。Spring AOP默认使用的Java动态代理必须基于接口。本系统是面向接口编程;

(2)实现相关接口:在实现接口的同时,需要继承HibernateDaoSurpport类,这样可以省去对SessionFactoryHibernateTemplate的处理。

 

 

分享到:
评论

相关推荐

    spring+hibernate+struts整合jar包

    在本整合中,Spring 2.5.6版本主要作为业务逻辑的管理和协调者,它可以通过配置文件管理Bean的生命周期,同时与Hibernate和Struts进行无缝集成。 Hibernate 3.2是一个流行的ORM(对象关系映射)工具,它消除了...

    hibernate struts2 和spring的整合项目

    【标题】:“Hibernate、Struts2与Spring的整合项目” 【描述】:“这是一个将Hibernate、Struts2和Spring三大框架集成在一起的项目示例。它展示了如何在实际开发中有效地结合这三个强大的Java技术,实现数据持久层...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    maven整合spring+hibernate+struts2

    在本项目中,Maven负责管理项目的所有依赖,包括spring、hibernate和struts2等库,以及其他的开发和运行时依赖。开发者只需要在pom.xml文件中声明依赖,Maven就会自动下载并管理这些依赖,确保项目的环境一致性。 ...

    spring+hibernate+struts2整合

    本项目主要涉及的是Spring、Hibernate和Struts2这三个主流的Java开发框架的整合。它们分别负责不同的职责:Spring作为全能型容器,管理对象和依赖注入;Hibernate是持久层框架,负责数据库操作;而Struts2则是一个...

    spring_struts_hibernate整合开发书籍

    《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...

    使用spring整合hibernate和struts时所要用到的所有jar包

    首先,我们需要理解Spring如何与Hibernate和Struts进行整合: 1. **Spring与Hibernate整合**: - Spring通过其`HibernateTemplate`或`HibernateDaoSupport`类简化了对Hibernate的操作,提供了事务管理。你可以定义...

    Struts1+Spring2+Hibernate2整合详细例子

    Struts1、Spring2和Hibernate2是Java Web开发中的三个重要框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个整合例子旨在展示如何将这三个框架协同工作,以构建一个完整的Java Web应用程序。 Struts1是...

    struts2和spring和Hibernate整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建高效、灵活的企业级应用。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求...

    spring整合hibernate与struts2所需jar包

    1. **引入jar包**:压缩包中的"spring整合hibernate与struts2所需jar包"包含了这三个框架的核心库,包括Spring的核心、数据访问/集成、Web模块,Hibernate的主库和JPA支持,以及Struts2的核心、插件和其他相关依赖。...

    Ajax(DWR) + Spring + Hibernate + Struts整合登陆注册

    总之,这个示例是一个很好的学习资源,帮助开发者了解如何在Java Web环境中将Ajax、Spring、Hibernate和Struts结合使用,实现复杂的业务流程。通过这个案例,你可以深入理解这些框架的核心功能,以及它们在实际开发...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    Spring+Hibernate+Struts资源共享系统

    在“Spring+Hibernate+Struts”系统中,Hibernate 负责处理数据库操作,将Java对象映射到数据库表,从而避免了繁琐的SQL代码编写。通过 Hibernate,开发者可以轻松地进行数据的增删改查操作,同时支持事务管理和缓存...

    Struts+Spring+Hibernate整合教程

    在整合这三个框架的过程中,开发人员可以按照本文提到的方法,把Struts、Spring和Hibernate整合在一起,形成一个强而有力的Web应用开发环境。通过这种整合,可以将各种技术的特性发挥到极致,同时保持它们的独立性。...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    通过整合Struts2、Spring与Hibernate,学生成绩管理系统不仅实现了基本的登录、学生信息和成绩管理功能,还通过分页技术增强了用户体验。更重要的是,这一整合展示了如何利用现代Java EE框架构建复杂企业级应用的...

    struts+spring+hibernate整合

    Struts、Spring和Hibernate是Java Web开发中的三大主流框架,它们分别负责表现层、业务层和服务层的管理。Struts提供了MVC模式的实现,Spring则是一个全面的轻量级应用框架,包括依赖注入(DI)、面向切面编程(AOP...

    Struts Spring Hibernate整合实践

    Struts、Spring 和 Hibernate 是三个著名的 Java 开发框架,它们分别负责不同的职责。Struts 是一个 MVC(Model-View-Controller)框架,主要用于构建 web 应用的控制层,简化了Servlet和JSP的开发。Spring 是一个...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    在`stm-ssh`和`SSHdemo`中,可能包含的是Struts2+Spring+Hibernate的整合示例。开发者通常会创建Action类来处理请求,定义Service层来封装业务逻辑,并使用Hibernate来操作数据库。Spring会管理这些对象的生命周期和...

    struts2整合Spring和hibernate案例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2作为MVC(模型-视图-控制器)框架,负责处理请求和展示视图;Spring是一个全面的后端解决方案,提供...

Global site tag (gtag.js) - Google Analytics