`
leonard168
  • 浏览: 9485 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

SSH中struts、 hibernate、 spring 各自的作用

    博客分类:
  • SSH
阅读更多
Struts是用来做应用层的,它负责调用业务逻辑serivce层。所以SSH框架的流程大致是:Jsp页面---Struts---Service(业务逻辑处理类)---Hibernate。
struts其核心是 Controller, 即 ActionServlet,负责控制Service(业务逻辑处理类),从而控制了Service的生命周期,这样层与层之间的依赖加强,属于耦合。这时,使用spring框架就起到了控制Action对象(Strus中的)和Service类的作用。
spring在SSH框架中spring充当了管理容器的角色。它是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 , 面向接口的编程,由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。[/b]这也就是所谓 “ 控制反转 ” 的概念所在,(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中起到的主要作用是解耦。
Spring的Ioc(控制反转和依赖注入)
控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。
依赖注入:组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。
从上面我们不难看出:从头到尾Action仅仅是充当了Service的控制工具,这些具体的业务方法是怎样实现的,它根本就不会管,也不会问,它只要知道这些业务实现类所提供的方法接口就可以了。而在以往单独使用Struts框架的时候,所有的业务方法类的生命周期,甚至是一些业务流程都是由Action来控制的,层与层之间耦合性太紧密了,既降低了数据访问的效率又使业务逻辑看起来很复杂,代码量也很多。Spring容器控制所有Action对象和业务逻辑类的生命周期,由于上层不再控制下层的生命周期,层与层之间实现了完全脱耦,使程序运行起来效率更高,维护起来也方便。
使用Spring的第二个好处(AOP应用)
事务的处理:在以往的JDBCTemplate中事务提交成功,异常处理都是通过Try/Catch 来完成的,而Spring容器集成了TransactionTemplate,它封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能,这都是由Spring容器来管理,大大减少了程序员的代码量,也对事务有了很好的管理控制。
Hibernate是数据持久化层 , 是一种新的对象、关系的映射工具 , 提供了从 Java 类到数据表的映射,也提供了数据查询和恢复等机制 , 大大减少数据访问的复杂度。把对数据库的直接操作 , 转换为对持久对象的操作。
Hibernate中也有对事务的管理,hibernate中事务管理是通过SessionFactory创建和维护Session来完成。而Spring对SessionFactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对SessionaFactory进行设定,这样的话就可以很好的利用Sping对事务管理强大功能,避免了每次对数据操作都要现获得Session实例来启动事务/提交/回滚事务还有繁琐的Try/Catch操作。这些也就是Spring中的AOP(面向切面编程)机制很好的应用。一方面使开发业务逻辑更清晰、专业分工更加容易进行。另一方面就是应用Spirng AOP隔离降低了程序的耦合性,使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重用度。
分享到:
评论

相关推荐

    ssh 整合 struts hibernate spring

    SSH整合是Java开发中一种常见的技术栈组合,它包含了三个主要的开源框架:Struts、Hibernate和Spring。这种集成能够构建出高效、可维护且松耦合的企业级Web应用程序。 Struts是MVC(Model-View-Controller)设计...

    ssh2 struts2 hibernate spring 需要的jar包

    ssh2 struts2 hibernate spring 需要的jar包 ssh2 struts2 hibernate spring 需要的jar包 ssh2 struts2 hibernate spring 需要的jar包 ssh2 struts2 hibernate spring 需要的jar包 ssh2 struts2 hibernate spring ...

    SSH_Struts Hibernate Spring整合

    2. **整合Hibernate**: 在Spring中配置Hibernate的SessionFactory,通过SessionFactory获取Session,然后在Service层进行数据库操作。这样可以将DAO层从具体的数据库操作中解耦出来。 3. **配置Spring**: 创建...

    ssh(struts+spring+hibernate)教务管理信息系统(全部代码) 可以直接运行

    SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...

    ssh 项目 struts hibernate spring

    SSH,全称是Struts2、Hibernate和Spring,这是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。SSH框架集合了MVC(Model-View-Controller)设计模式、对象关系映射(ORM)和依赖注入(DI)...

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    SSH,即Struts2、Hibernate和Spring的组合,是Java Web开发中的一种经典框架集成,用于构建企业级的MVC(Model-View-Controller)应用。这个整合旨在提供一个高效、灵活且可扩展的开发环境,使开发者可以专注于业务...

    SSH(Struts+Spring+Hibernate)结合项目简单实例

    同时,Hibernate的SessionFactory和Session对象也会在Spring中配置,使得业务层可以方便地进行数据库操作。Spring还负责管理Hibernate的事务,确保数据一致性。 总结来说,SSH框架组合提供了一个强大且灵活的Java ...

    语言程序设计资料:基于SSH(Struts + Spring + Hibernate)框架的网上购物系统.ppt

    语言程序设计资料:基于SSH(Struts + Spring + Hibernate)框架的网上购物系统.ppt

    ssh struts hibernate spring 分页

    SSH(Struts、Hibernate、Spring)是Java Web开发中一种常见的技术栈,它结合了MVC框架Struts、对象关系映射工具Hibernate和依赖注入框架Spring。这些组件协同工作,为开发者提供了一种高效、灵活的开发环境。下面将...

    基于J2EE农业网 struts 2 +spring+ hibernate

    农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts ...

    超市管理信息系统(SSH struts+spring+hibernate)

    【标题】"超市管理信息系统(SSH struts+spring+hibernate)"是一个综合性的IT项目,它基于流行的Java企业级开发框架SSH(Struts、Spring、Hibernate)来构建。SSH框架是许多大型企业级应用的首选,因为它提供了一个...

    SSH(struts2+spring+hibernate)教务信息管理系统

    SSH(Struts2 + Spring + Hibernate)教务信息管理系统是一个基于Java技术的Web应用程序,它利用了三个核心的开源框架来构建高效、可维护且功能丰富的教育管理平台。SSH是Struts2、Spring和Hibernate的缩写,这些...

    传智播客SSH(struts2 spring2.5 hibernate3.5) ppt 课件

    SSH(Struts2 + Spring + Hibernate)是Java开发中一种常见的企业级应用框架组合,它由三个主要组件构成,用于构建高效、灵活的Web应用程序。本篇将详细讲解这三个组件的核心概念、工作原理以及如何在实际项目中进行...

    Struts+Spring+Hibernate(ssh)集成(实现增删改查)

    Struts、Spring 和 Hibernate(SSH)是 Java Web 开发中常用的三个开源框架,它们的集成可以构建出高效、模块化且易于维护的企业级应用。在本项目中,我们将探讨如何将这三个框架整合起来,实现一个基础的增删改查...

    ssh框架struts2 spring hibernate

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。它们分别负责Web层、服务层和持久层的管理,构建出高效、灵活的企业级应用程序。 Struts2是MVC(Model-View-...

    ssh(Struts2+hibernate+spring)三大开源框架的参考文档

    SSH是Java开发中广泛使用的三大开源框架,包括Struts2、Hibernate和Spring。这三大框架在Web应用开发中各自承担着不同的职责,协同工作以提高开发效率和代码质量。 Struts2是MVC(Model-View-Controller)设计模式...

    基于struts+spring+hibernate+oracle的移动ssh项目源码

    基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...

    SSH(Struts+Spring+Hibernate)三层架构.

    SSH(Struts+Spring+Hibernate)是Java Web开发中常用的一种三层架构模式,它将应用程序分为表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer),以实现清晰的...

    SSH集成 Struts+spring+hibernate集成

    SSH集成是Java开发Web应用程序时常用...在实际开发过程中,还需要熟悉相应的配置文件(如struts-config.xml、spring-context.xml、hibernate.cfg.xml)以及如何编写符合这些框架规范的代码,以充分利用SSH集成的优势。

    SSH 框架 struts-2.3.34 spring4.3.12 hibernate5.0.12

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了一种高效且强大的方式来构建企业级应用,它整合了模型-视图-控制器(MVC)设计模式、依赖注入(DI)...

Global site tag (gtag.js) - Google Analytics