三大框架的作用 - 范文中心

三大框架的作用

11/25

Struts2的作用

作为web层框架应该大体实现以下功能:

1.获取表单内容,并组织生成参数对象

2.根据请求的参数转发请求给适当的控制器

3.在控制器中调用业务接口

4.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现

5.做一些简单的校验或是国际化工作

无论是登录还是上传什么,没有其他层的协助是无法实现的,当然你也可以硬编码的来实现业务逻辑或数据库操作,这样的做法扩展性和可维护性极差

hibernate是操作数据库的一种框架,它简化了直接使用jdbc api的代码操作数据库的复杂性和冗余性

spring则完全是一种架构型的框架了,它不属于J2EE应用中的任何一个层,但它提供了对象依赖注入的思想,并且为每个层中遇到的实际问题提供了大量现成的模板类,使用这些模板类的方法很easy,大多数情况下只需要你在配置文件里配置一下就可以实现诸如事务管理或安全性控制这样的复杂问题.使用spring你的代码不依赖于框架,不依赖于具体实现,而依赖于接口,这对于实现松散耦合的架构来说是大有裨益的.spring不仅仅可以用于web应用,在普通的java应用中也可以使用spring.spring不是个复杂的框架,它的核心包很小并且具有轻量级的架构,基本上spring的核心只有2个东西:Ioc & AOP,Ioc其实就是工厂模式的一种体现,而AOP则来源AOP联盟,使用了拦截的思想...学了spring,现在写起代码觉得自己就像个白痴,有什么问题直接在配置文件里配置一下相关的模板类就OK了,它是真正为程序员减轻工作负担的框架.

Spring4.x 的作用

在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因

为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语

句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致

是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)struts

负责控制Service(业务逻辑处理类),从而控制了Service的生命周期,这样层与层之间的

依赖和强,属于耦合。这时,使用spring框架就起到了控制Action对象(Strus中的)和

Service类的作用,两者之间的关系就松散了,Spring的Ioc机制(控制反转和依赖注入)正

是用在此处。

Spring的Ioc(控制反转和依赖注入)

控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直

接操控。

依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注

入到组件之中。

从上面我们不难看出:从头到尾Action仅仅是充当了Service的控制工具,这些具体的

业务方法是怎样实现的,他根本就不会管,也不会问,他只要知道这些业务实现类所提供的

方法接口就可以了。而在以往单独使用Struts框架的时候,所有的业务方法类的生命周期,

甚至是一些业务流程都是由Action来控制的。层与层之间耦合性太紧密了,既降低了数据访

问的效率又使业务逻辑看起来很复杂,代码量也很多。,Spring容器控制所有Action对象和

业务逻辑类的生命周期,由与上层不再控制下层的生命周期,层与层之间实现了完全脱耦,

使程序运行起来效率更高,维护起来也方便。

使用Spring的第二个好处(AOP应用):

事务的处理:

在以往的JDBCTemplate中事务提交成功,异常处理都是通过Try/Catch 来完成,而在

Spring中。Spring容器集成了TransactionTemplate,她封装了所有对事务处理的功能,

包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由Spring容器来管理,

大大减少了程序员的代码量,也对事务有了很好的管理控制。Hibernate中也有对事务的管

理,hibernate中事务管理是通过SessionFactory创建和维护Session来完成。而Spring对

SessionFactory配置也进行了整合,不需要在通过hibernate.cfg.xml来对 SessionaFactory进行设定。这样的话就可以很好的利用Sping对事务管理强大功能。避免

了每次对数据操作都要现获得Session实例来启动事务/提交/回滚事务还有繁琐的

Try/Catch操作。这些也就是Spring中的AOP(面向切面编程)机制很好的应用。一方面使

开发业务逻辑更清晰、专业分工更加容易进行。另一方面就是应用Spirng AOP隔离降低了

程序的耦合性使我们可以在不同的应用中将各个切面结合起来使用大大提高了代码重用度。

Hibernate的主要功能及用法

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

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。


相关内容

  • 大众传播学考研复习内容
    大众传播学考研复习内容 本内容凯程崔老师有重要贡献 1. 什么叫传播?[名词解释] 所谓"传播"即传受信息的行为(或过程) 2. 什么叫信息?[名词解释] 信息是传播学的基本概念之一. ① 事物(物质和能量) 的存在方式 ...
  • 旅鼠之谜1
    <旅鼠之谜>说课稿 一.教材分析 本文是一篇杂交文体的文章.为什么这么说呢,从全文看,有完整的记叙要素,是记叙文.而内容上主要是介绍科学知识的.因而是一篇"运用记叙的框架,借助对话来介绍科学知识"的文章.课文 ...
  • 铁路信息化总体规划
    铁路信息化总体规划 1前言 信息化是当今世界经济社会发展的必然趋势,已经成为推动人类社会高速发展的强大动力,成为各个国家实现现代化的重大发展战略.党的十六大报告提出"信息化是我国加快实现工业化和现代化的必然选择".大力推 ...
  • 服务创新与盈利成长
    请选择星星评价 作者:舒伯阳著 出版日期:2006 页数:284 内容提要 本书以Heskee服务利润链及关键财务绩效指标(KPL)为分析工具,对现有的服务创新维护进行整合,提出了"服务企业应根据顾客价值等式以服务利润为主线来构建 ...
  • 中外历史基本线索框架
    中外历史基本线索框架 一.总体了解中国古代史进程: 1.原始社会:距今约170年万年前元谋人--公元前2070年夏朝建立前 2.奴隶社会: 夏朝(建立) 商朝(发展) 西周(强盛) 春秋(衰亡) 前2070年 前1600年 前1046年 前 ...
  • 干货丨理工思路如何分析和投资大数据
    大数据正在变得越来越重要,因为我们每天都在产生如此多的数据. 根据IBM公司的相关解释,我们每天产生2.5万兆字节的数据,这个数据来源于各个方面.我们需要对这些数据进行收集.储存,并建立应用程序进行分析.最成功的大数据公司Palantir拿 ...
  • 施工项目三大目标控制与管理
    建筑施工项目三大目标(成本.质量.进度) 的控制措施与管理办法 施工项目成本控制 1.占成本最大的就是工程材料.要想成本控制就必须对施工材料成本进行严格控制.A.无生产证书.合格证书的材料不购买B.施工材料价格控制(检验.采购.运输.出入库 ...
  • 面向应用型人才培养的网络工程专业课程体系探索与实践
    文章编号:1672-5913(2009)19-0134-06 面向应用型人才培养的网络工程专业课程体系探索与实践 郭广军1,羊四清1,戴经国1,龚德良2 (1.湖南人文科技学院 计算机科学技术系,湖南 娄底 417000:2.湘南学院 计算 ...
  • 风筝的飞行原理
    风筝的原理 风筝,从古至今一直被人们喜爱和欣赏,特别是在经济高速发展的当今世界,它又以和平的使者,友谊的桥梁及发展经济的纽带出现在全世界人民的面前,而我的家乡南通就是中国四大风筝产地之一,所以我对风筝有着特殊的感情. 下面,首先让我对地面风 ...
  • 房屋建筑基本常识
    1. 什么是容积率?答:容积率是项目总建筑面积与总用地面积的比值.一般用小数表示. 2. 什么是建筑密度?答:建筑密度是项目总占地基地面积与总用地面积的比值.一般用百分数表示. 3. 什么是绿地率(绿化率)?答:绿地率是项目绿地总面积与总用 ...