浅谈struts2、hibernate、spring三大主流框架

时间:2022-05-13 04:23:25

浅谈struts2、hibernate、spring三大主流框架

【摘 要】文章主要对struts2、hibernate、spring三大主流框架进行简单的介绍,分别介绍了各自的体系结构。

【关键词】struts2;hibernate;spring

中图分类号:TP39 文献标识码:A 文章编号:1006-0278(2013)07-192-01

一、struts2框架

(一)struts2框架的概述

Struts2也是以控制器为核心,它包括核心控制器(FilterDispatcher)和业务控制器及用户实现的的业务逻辑组件。

Struts2框架的大致处理流程如下:

1.浏览器发送请求,例如请求/mypage.action、/reports/ myreport.pdf等。2.核心控制器FilterDispatcher根据请求决定调用合适的Action。3.Struts 2的拦截器链自动对请求应用通用功能,例如workflow、validation或文件上传等功能。4.回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。5.Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术

(二)struts2框架的体系结构

Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。

Struts2框架的处理流程如下:

1.加载类(FilterDispatcher)2.读取配置(struts配置文件中的Action)3.派发请求(客户端发送请求)4.调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)5.启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)6.处理业务(回调Action的execute()方法)7.返回响应(通过execute方法将信息返回到FilterDispatcher)8.查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面)9.响应用户(jsp--->客户浏览器端显示)10.struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)。

二、Hibernate框架

(一)Hibernate框架的概述

Hibernate是一个非常优秀的ORM(Object Relational Mapping对象关系映射)框架。

对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作。

hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

(二)Hibernate框架的体系结构

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

三、Spring框架

(一)Spring框架的概述

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

(二)Spring框架的体系结构

Spring框架的7个模块:

1.核心容器;2.Spring 上下文;3.Spring AOP;4.Spring DAO;(5)Spring ORM;(6)Spring Web 模块;(7)Spring MVC框架。应不同的要求。是研究如何将对象按照多个方面的特征进行综合分类的一种统计方法.能有效地解决科学研究中多因素、多指标的分类问题。

上一篇:司法鉴定结论的特殊性 下一篇:依据“三权”解决农村土地纠纷