教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

开源技术Struts、Spring、Hibernate(6)

来源:网络收集 时间:2026-02-18
导读: 北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究 表2.1 Spring技术方案选择 模 块 IoC容器,Bean工厂 作 用 基本的Spring容器,提供了强大和可以拓展的依赖注入能力。 IoC容器,

北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究

表2.1 Spring技术方案选择

模 块 IoC容器,Bean工厂 作 用 基本的Spring容器,提供了强大和可以拓展的依赖注入能力。 IoC容器,应用程序上下文 AOP框架更高级的更高级的IoC容器,增加了资源载入,事件发布和其它性能。 允许把完善的拦截应用于Spring容使用理由和时机 如果需要覆盖面小的IoC容器——例如,Applet中使用。 Spring容器的一般用法。应用程序上下文是一个Bean工厂,因此其用法模型是一致的。 作为Spring的企业服务(比如申明式事务管理)IoC容器,增加了资源载器管理的任何对象,或者编程式的使用的可行技术——在这种情形中,开发者无需自觉地了入,事件发布和其它性能。 代理工厂,支持核心的AOP概念,比如解AOP的使用 切点,使它不仅是一个简单的拦截机制。 使应用程序能够实现定制的方面,来模块化代码,否则这些代码会散布到整个应用程序对象模型中。 数据访问抽象 提供了资源管理和异常处理的一般建议使用Spring的数据访问抽象,无论使用哪种方法,不管使用的是那种数据访问技术,数据访问技术。 Spring支持下列即开即用的数据访问技建议使用Spring的数据访问支持来实现持久性框术:Hibernate,JDO,TopLink,和Apache 架不可知的DAO接口,意味着业务服务层与持久性框OJB。框架为其它API的支持提供了牢固的概念基础。只要是JSR-220 POJO持久性规范和二进制包以成熟的形式发布,将马上支持它。在Spring主要数据访问概念的基础上,用户实现专用的或者其它不支持的数据访问API也是可能的。 JDBC抽象框架 在JDBC之上提供了简化了异 在需要执行基于SQL的相关操作时,用来代架分离开来。 常处理的API层,极大的减少了在典型替JDBC的直接使用。 的JDBC操作中需要编写的代码量,并且减少了产生普通错误的可能性。 事务抽象 与Spring的数据访问框架集把应用程序代码与基本的事务管理基础设施分离 成,以提供运行于任何环境中的事务抽开来。 象,并且提供无需EJB的申明式事务管理。 提供比JTA或者局部事务更简单,更容易可测试的编程式事务管理。 为任何POJO提供比EJB更强大,移植性更好的申明式事务管理。 MVC Web框架 Spring自己的Web MVC框架,概念上与Struts最相似。 如果喜欢基于请求的Web框架,而且想要高度灵活的,可定制的框架,其中模型,视图和控制器职责清晰分离,并且可以适应各种视图技术,那么可以使用它。 -25-

北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究

JMS 支持JMS消息发布 使得JSM消息发布更容易,不管如何消费消息。 J2EE集成 与核心容器的集成以免JNDI查询,并且使EJB更容易实现和访问。 把应用程序代码与JNDI环境分离,使它在非J2EE易于测试和使用,并且通过把重点集中在提供应用程序功能相关业务接口,而不是J2EE API细节,使其目的更加清晰。 轻量级远程处理 提供了远程处理支持,可以跨 用于导出基于任何Spring管理的对象远程服越多种远程处理协议来导出POJO服务。 务。 JMX支持 给Spring管理的对象提供了JMX的管理,Spring没有提供其自己的JMX Mbean服务器,它的JMX支持与应用程序服务器或者独立的JMX服务器提供的集成在一起。 脚本支持 使得Spring容器管理任何对象都可以使用脚本语言来编写,以代替Java。 在运行时间用JMX管理应用程序对象。 3.3 持久层框架Hibernate

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

要把握好Hibernate,必须掌握Hibernate的实现机制,体系结构原理。其它的象对象关系映射将在具体整合应用中介绍,以免发生重复,象Hibernate的主键的具体应用,检索方式,集合映射可以参考相关书籍,因为这些都是应用很强的东西,在具体开发中参阅会得到更好的效果,本文不再叙述。

3.3.1 Java反射机制

反射机制(reflection)是Java语言非常重要的特性,同时也是Hibernate的核心机制。这种特性不仅允许运行中的Java程序对自身进行检测,而且还能够直接操作程序自身的方法。很多开源框架都抓住了这样一个特性,从而造就了Java现在的辉煌局面[18]。Hibernate为实现反射机制的应用提供了丰富的接口,具体接口的含义参看Hibernate API。

3.3.2 对象/关系映射机制

Hibernate中最核心的技术就是ORM,所谓ORM,简单地说就是将Java中的对象与对象的关系,对应到关系型数据库中的表格与表格之间的关系,Hibernate提供了这个过程中自动化对应转换的方案,

-26-

北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究

相反地,也提供了关系型数据库中的表格与表格之间的关系,对应至Java程序中的对象与对象的关系。Hibernate在Java程序与数据库之间进行转换,Java程序员重要事先定义好对象与数据库表格之间的对应,此后Java程序设计人员就可以使用熟悉的面向对象程序设计方法编写程序,而不再需要进行特定的与SQL之间的转换,所有SQL的转换交由Hibernate进行处理。也就是说 ,Hibernate中提供了数据查询和获取数据的方法,从而大幅度减少了开发时人工使用SQL和JDBC处理数据的时间。Hiberna e的目标是承担开发人员为了实现数据持久处理而需要做的大量重复性工作,帮助开发人员轻松地从数据表中获取到的结果集,从表格式的表示形式直接转换到对应的对象表示形式。也就是说,原先需要开发人员手工编写代码实现将记录字段中的值取出封装成对象的过程,以及将对象中的属性值分别取出作为对应记录字段值存储到数据表中的过程都可以交给Hibernate提供的相关工具完成。Hibernate本身带给我们的不仅仅是一种软件开发的架构,更是一种值得推广的数据持久性解决方案。这些数据持久性设计的概念,是可以在脱离开Hibernate之后,推广应用到更广泛的数据持久性处理领域中的。目前,EJB3A中的实体Bean的最新设计已经采用了和Hibernate类似的方案[19]。

3.3.3 Hibernate体系结构

一个非常高层次的Hibernate体系结构图如下图3.13所示。

图3.13 Hibernate体系结构图

这幅图展示了Hibernate使用数据库和配置文件数据来为应用程序提供持久化服务(和持久化的对象)。 我们展示一个更详细的运行时结构图。不幸的是,Hibernate很灵活并且支持多种运行方式。我们展示一下两种极端情况。轻型体系中,应用程序自己提供JDBC连接,并且自行管理事务。这种方式使用了Hibernate API的一个最小子集[20]。参见下图3.14。

-27-

北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究

图3.14 Hibernate轻量解决方案

全面解决体系中,对于应用程序来说,所有的底层JDBC/JTA API都被抽象了,Hibernate会替你照管所有的细节。参见下图3.15所做的改进。

…… 此处隐藏:3280字,全部文档内容请下载后查看。喜欢就下载吧 ……
开源技术Struts、Spring、Hibernate(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/402890.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)