doc基于反射机制的框架研究与实现Word下载.docx

上传人:b****5 文档编号:21509062 上传时间:2023-01-30 格式:DOCX 页数:36 大小:226.49KB
下载 相关 举报
doc基于反射机制的框架研究与实现Word下载.docx_第1页
第1页 / 共36页
doc基于反射机制的框架研究与实现Word下载.docx_第2页
第2页 / 共36页
doc基于反射机制的框架研究与实现Word下载.docx_第3页
第3页 / 共36页
doc基于反射机制的框架研究与实现Word下载.docx_第4页
第4页 / 共36页
doc基于反射机制的框架研究与实现Word下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

doc基于反射机制的框架研究与实现Word下载.docx

《doc基于反射机制的框架研究与实现Word下载.docx》由会员分享,可在线阅读,更多相关《doc基于反射机制的框架研究与实现Word下载.docx(36页珍藏版)》请在冰豆网上搜索。

doc基于反射机制的框架研究与实现Word下载.docx

轻量J2EE应用是对经典J2EE应用的简化,在保留经典J2EE应用的架构、良好的可扩展性、可维护性的基础上,简化了J2EE应用的开发,降低了J2EE应用的成本。

关键词:

反射机制;

轻量级;

框架

ABSTRACT

Currently,withtherapiddevelopmentofInternetapplications,softwareoperatingenvironmentismovingfromacentralizedclosedcomputingplatformtoanopenanddynamiccomputingplatform,service-basedcomputingmodelwillgraduallyreplaceit,therefore,thesechangestraditionalsoftwarecomponenttechnologyisverydifficulttodealwith.Inthisarticle,Fortheseissuesaboutcurrentsoftwarecomponentrepeatedutilizationisnothigh,dynamicoperatingenvironmentcannotmeetandthechangingneedsofusers,accordingtothetheoryofreflection,thisarticleresearchesasoftwarecomponenttechnologywhichishighflexibilityandadaptability.Theframeworkiswiththeadvantagesofreducingcoderedundancy,improvingthespeed,easeofmaintenance,standardizedprogrammingandsoon.

JAVAreflectioncanknowallthepropertiesandmethodsofanyoneclassinrunningthem;

Foranyobject,itisabletocalloneofitsmethodsandproperties;

Thefunctionofaccessingtoinformationdynamicallyandcallingobjectmethoddynamicallyiscalledreflectionmechanismofjavalanguage.Actually,reflectionisaprogramcanchecktheinformationontheirown.JAVAreflectionmechanismcancheckthepropertiesofcertainmethodsininformation,andinvokedynamically.Thismakesitpossibletowriteaveryflexibleprogram.Forexample,someonewantstocopyanobjectattributewiththesamenameasthedatatoanother,hecanusereflection,withoutneedingtospecifythenameofeachattribute,onlyneedtogetinformationfromadynamicclass,andthendeterminewhetherthesamepropertynameonit.

Thisarticleisbasedonresearchingthereflectionmechanismframework,achievingalightweightframeworkinordertoadapttothesmallsystem.ApplicationofLightweightJ2EEissimplifiedbyclassicJ2EE,Onthebasisofretainingtheclassicapplicationarchitecture,goodscalability,andgoodmaintainability,itSimplifiesapplicationdevelopmentandreducesapplicationcosts.

Keywords:

Reflection;

lightweight;

framework

目录

第一章绪论1

第一节论文的背景1

第二节论文研究目标1

第二章相关概念以及概念之间的关系2

第一节反射机制2

第二节轻量级2

第三节设计模式简介2

第四节框架3

第五节架构4

第六节框架与架构关系4

第七节框架与设计模式关系4

第三章系统开发环境技术介绍6

第一节MyEclipse介绍6

第二节MySQL数据库介绍6

第四章框架研究8

第一节Struts2框架8

第二节Spring框架8

第三节Hibernate框架9

第四节Java优点10

第五章框架与数据库连接工具12

第一节JDBC介绍12

第二节连接池13

第三节几种常见的连接池14

第六章建立数据库17

第一节数据库表的结构17

第二节创建数据库部分代码及结果17

第七章基于反射机制框架的设计与实现19

第一节框架的总体设计19

第二节具体代码介绍20

第三节代码测试22

第八章论文总结与展望30

第一节本文总结30

第二节未来展望30

参考文献31

致谢32

第一章绪论

第一节论文的背景

随着软件不断升级的规模和复杂性,在软件工程中,大家更加深刻的认识到系统构造的整体设计及规格说明的重要程度早已高出数据结构以及特定算法的选择,而且系统的成功需要优良的体系结构来保证。

伴随软件技术和软件领域的不断发展,复杂性越来越大。

越来越多的问题需要开发人员的解决,当然解决的方法、方案各不相同。

开发人员或者设计师如何在以前的工作基础之上开发新的设计,对以前的成功案例进行复用。

因此,软件重用技术越来越被人们所重视了,设计模式和框架渐渐产生。

由于开源软件兴起,框架更是层出不穷。

架构是软件系统由整体到部分最高层次的划分,大多数是由多个不相同领域框架构成。

一个成功的体系架构有助于成功的软件促成,但软件体系结构需要一个复杂的和不断改进以建立的过程。

软件开发人员不可能为每个不同项目,使用不同的构架,那样既耗时又费力。

能够重用以前构架,或者开发通用构架是每个开发者所想要的。

在不同的框架中如何选择适合应用的框架,以及如何让每个应用层完美连接?

如何整合框架,才能使各层之间互相作用是以都以一种松散耦合方式而不用去管底层技术细节?

软件开发人员需要解决这些问题。

第二节论文研究目标

框架核心的价值是对知识的积累。

但由于知识只存在于编程人员大脑之中,因此是很难进行累积的。

在软件开发中,代码是确定的知识,人力或者机器可读取代码都能够理解代码的目的,而且会出现相同的理解,因此最好的办法是使用代码对知识进行积累。

框架就是这种思想产物。

框架包括了少许代码,它们描述了在某一个范围问题中抽象概念和抽象概念之间的关联。

因此能够利用框架对知识进行积累。

框架定义了扩展方式以此规范框架的使用行为。

复用和在包装的思绪让软件能够保持总体构造稳定性及扩展性。

针对当前有多种流行的Java框架,这些框架中有优秀的设计思想,有优秀的设计模式,也有数不清的成功的商业应用案例,同时,它们所使用的Jar文件也有成百个模型,所以对于小的系统不太适合,本课题旨在基于反射机制对框架进行研究,实现一个轻量级的框架以此来适应小的系统。

轻量级J2EE是在对经典J2EE的应用的简化,同时在保存了经典的应用体系结构,优秀的可扩展性,可维护性基础之上,简化了应用的开发,削减应用成本。

第二章相关概念以及概念之间的关系

第一节反射机制

Java反射机制在运行时,对任何一个类都可以了解此类的全部属性及方法;

对任意一个对象,都能够调出应用它的一种方法及属性;

这类动态获得信息和以动态方式去调用目标的功能叫做Java语言反射机制[1]。

Java语言产生的原因是为了适应网络应用。

语言的反射机制的开发和实施,其目的是能够传递网络中的对象,并可以根据传递的对象的信息来重建对象本身,因此重建是动态的。

在远程过程及远程方式调用功能达成中,反射机制起到了很大的功用。

也的确是在这些基础之上孕育了Java的各类新技术。

在Java语言中,一个类具有不同的属性和方法,通过相关类来实现对其信息的提取及重构。

第二节轻量级

所谓“轻量级”,并非“设计简陋、功用少、实现粗陋”的意思。

它的设计理念哲学意义是“很多的操作不需要分布式以及不需要那些重量级的技能,比方说JNDI,将应用中没必要的技术隔离或者改造是有必要[2]。

完全能针对目前最常见、简易的使用中的场景来设计,有特殊的需要时,再想办法解决问题就行”。

“轻量级”包含两个概念:

1、对编程模型和更具响应能力的容器简化,对传统J2EEAPI有关不必要的复杂性及限制进行清除。

2、对于需求常常测试调试的开发,缩小应用程序部署时间是很有必要的。

第三节设计模式简介

一、模式的历史

设计模式最早源于建筑学。

在20世纪70年代,建筑学家CHRISTOPHERALEXANDER完成了许多专著,在这些专著中有些记录了建筑学以及土木工程学的模式。

之后,软件开发的一些模式先驱们在CHRISTOPHERALEXANDER的专著中得到了灵感,从此软件开发就有模式这一观念了[3][4]。

经过ErichGamma、JohnVlissides、RalphJphnson、RichardHelm四位作者的文章[5],软件开发中的模式观念得到了普及。

GOF在他们的作品中共记录了常用的设计模式,这些模式后来被人们称为GOF模式。

当然,他们的作品中描述的模式并非他们自己发明的。

而是他们在发现许多类似的设计方案,这些设计方案在很多项目重复的出现,他们总结出这些模式,并记录在书中。

当GOF的作品出版之后,大量类似的软件模式书籍相继出现,这些著作涉及到各个领域和用途。

二、模式的定义

其实模式很难有固定的定义,Alexander描述的是:

“模式描述了在人们四周不停的反复发生的问题和这个问题解决方案的主旨。

如此,人们就可以屡次的运用该方案而不必去做同样的劳动了”。

虽然Alexander说的是建筑的模式,但这个定义在软件设计中也能很好运用。

一个模式一般有四个基本要素[5]。

“模式名称”是一个助记名,对于模式想要解决的问题、效果以及解决方案能够利用一两个词汇进行描述。

“问题”描述了模式适用场景并对设计问题以及问题存在的因果进行解释。

“解决方案”表达了设计组成部分以及他们之间的合作方法和各自的任务。

“效果”表达了了模式应用效果和使用模式权衡问题。

三、模式的作用

每个设计模式体系的评估、注解和定名了面向对象系统中一个首要并且反复出现得设计[6],用这样的模式会使我们获益良多。

第一,模式可以让我们重用成功设计及体系结构。

通过模式提供的方案都在不同时间、不同项目中被反复的用于解决相似的问题而总结的使用经验,模式形成了强大的重用机制,可以让软件开发人员避免重复编写代码。

第二,模式提供大量共用词汇。

使用这些词汇软件开发人员可以在更高层上进行设计以及交流。

第三,模式制约了解决方案空间。

模式增加了问题解决方案空间的约束,也可以说是创造出了一个边界,设计以及实施必须在边界里面完成,否则就会对模式及设计损坏,导致意想不到的“反模式”。

第四节框架

框架是提取工程软件开发当中特定范围软件具备相似属性的部份,框架是由一组联系紧密的classes(类)构成的,通过强调类相互的配合从而完成某种能够复用的设计概念。

这些类相互之间以特定的方式合作。

大多数框架的一般作用:

因为是对特定领域软件具备相似属性部分的提取,所以在这一领域内开发新的程序过程中能够不需要重新编写代码,只需要基于现有的框架进行进一步开发和整合就可以了;

这样就能够提升软件质量,大大的降低本钱,而且节省很多时间,使开发软件越来越方便,效果越来越好,最后产生一种好的循环效果。

框架不是可以直接利用的现成应用系统,因为框架仅仅是一个半成品,需要软件开发人员对它进行第二次发开从而达成具有具体功能的应用系统。

框架并不是“平台”,由于平台这个概念较模糊,它可以是一种通讯中间件,一种应用服务器,一种数据库软件,一种操作系统,所以在应用平台当中中,平台主要责任就是供应特定服务系统软件。

第五节架构

软件系统架构一般具有两个要素:

(1)架构是由总体到部份最高层次的划分的一个软件体系。

一个体统一般是由元件组成,而这类元件怎么形成以及他们之间怎么产生作用,是关于系统自身构造的重要信息。

更加详细的说,要包括任务流、架构元件、联结器。

构架也就是系统核心的“砖瓦”,联结器才是对元件间通信机制、通信预想结果、通信途径很好的描述,任务流是对怎么运用这类元件来实现某项需要进行描述。

(2)建立一个系统做出最高水平,在以后很难改变,商业与技术所决定。

在构建系统之前要提前做出重要决定,如果系统已经开始了一个详细的设计或者构造,这些决定一般就无法更改了。

因此,必须认真研究后再做出决定,这决定了设计成功与否。

第六节框架与架构关系

框架不是架构,架构决定了系统层次的区分、总体结构,不相同部份间的合作等设计思考。

而框架比构架更加具体,更加侧重于技术。

在确定框架之后,软件体系结构也随着确定了,对于同一个软件体系结构可以通过各种框架来实现。

第七节框架与设计模式关系

在软件设计当中框架与设计模式是不一样的钻研范围。

设计模式是对设计问题找出解决的方法,一个模式能够被各种框架以及被各类语言所实现;

框架不仅是一种应用体系结构,而且是设计模式与代码的混合体。

他们之间虽然有差别,然而都协同让设计者的代码能够复用,因此框架在思路里有着同样的特点,所以设计模式的想法能在框架设计中运用。

框架与设计模式有着明显区分,原因主要体现在他们给出的内容和致力的应用领域。

(1)从内容看,设计模式是一个简单的设计,这个设计可以有很多不同的语言,用不用的方式去实现;

而框架是一种混合体由设计和代码组成,软件开发人员可以不扩展框架,从而形成完全不同的应用。

(2)从应用来看,框架给出了全部应用体系结构;

设计模式是给了一种简单的方案以解决设计问题,而且这个方案能在各种不一样的应用程序或框架当中进行使用。

(3)以第一条为基础,可以看出设计模式相比框架更加容易移植;

只要设计成形的框架,即使不构成一个完整的应用程序,但以此为基础进行的应用的开发会被框架的实现环境所制约;

在这方面设计模式是和语言无关,因此能在更加广泛异构的环境中进行应用。

框架是一个软件,设计模式则是软件的知识体,设计模式会对框架设计的水平进行提高。

第三章系统开发环境技术介绍

第一节MyEclipse介绍

MyEclipse是一个功能强大支持也非常的普遍,用于开发JAVA、J2EE十分杰出的Eclipse的插件集合,对支持各类开源品特别的擅长。

作为一个专门为Eclipse所设计和开发的插件集合,MyEclipse研发的初衷只是为了简化Eclipse的操作,为开发人员提供一个良好的操作界面和相对简单的操作方式。

然而由于其开源性,在之后的各个版本中MyEclipse不断的得到了功能上的加强。

到如今,MyEclipse10的功能可谓是相当巨大,它不但为Eclipse供应了大量的Java工具的集合,极大的处理了不同开源工具的不相同问题,同样也在自身集成了Tomcat,使得任务的发布不再需要事先绑定Tomcat,极大的简化了开发人员所需要安装的开发程序的数量。

使得Java/JSP应用开发的效率得到了很大的提升。

在结构上,MyEclipse的特征能够被分为七类:

WEB开发工具、JavaEE项目部署服务、EJB开发工具、数据库服务、应用程序服务器的连接器、JavaEE模型、MyEclipse整合帮助。

关于以上各类功能上的类别,在Eclipse中能够查找到相应作用的部件,而且通过一系列插件去完成它们。

MyEclipse构造上的模块化,可以是我们对任何一个模块进行独自扩大及升级而且不影响其他模块。

也就是说MyEclipse是Eclipse的插件,同时是一个功用十分巨大的JavaEE集成开发环境,它的主要作用是对代码进行编写、测试配置和除错。

MyEclipse作为Java、J2EE的开发插件集合中一个十分优秀的插件集合,它有着十分强大的功能和广泛的应用支持面。

它本身自带了非常完善的编码、调试、测试功能,在MyEclipse的最新版本MyEclipse10中,甚至集成了发布功能,能够不再依赖于Tomcat来进行程序发布。

并且MyEclipse能够完美的支持Struts、JSP、JavaScript、Spring、SQL等程序。

可以说,在Eclipse开发工具中,几乎包括了目前所有主流开源产品的MyEclipse毫无疑问的成为了最闪耀的一点星光。

第二节MySQL数据库介绍

作为当今计算机科学技术的一大分支,数据库成为了数据管理的最新技术,同时也为各式各样的信息管理系统提供了一个数据储存和交换修改的方式[7]。

在如今的主流的网页开发和系统设计中,数据库的设计与实现已经成为了一个不可缺少的部分,它担当起了数据存储与维护的重任,是系统开发的灵魂部分。

对于本系统而言,数据库用于存放学生的基础信息,是系统实现的基础部分。

因此,数据库技术作为信息系统核心和基础得到愈来愈多的应用,从小型单项事务处理到大型信息系统(On-LineAnalysisProcessing,OLAP),从OLTP(OnlineTransactionProcessing,联机事务处理)到OLAP(On-LineAnalysisProcessing,联机分析处理);

从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、电子政务(e-Government)、电子商务(e-Commerce)、地理信息系统(GIS)等[8],越来越多新的应用领域采用数据库技术来实现数据的储存和处理工作。

作为一个关系型数据库管理系统,MySQL因为其开源性受到了广大程序员的青睐,其版权现属于Oracle公司。

在Web应用开发方面MySQL是最好的关系类型数据库管理系统(RDBMS)应用软件之一,被广泛应用于各种各样的Web程序开发当中。

MySQL是一种关联数据库管理系统,它将数据保存在不同的表中,而不是将各种各样的数据堆放在一起,通过表与表之间的关系来将数据连接在一起,这样就增加勒数据的处理速度,并且提高了灵活性[9]。

MySQL在语言的选择上依旧采用了主流的SQL数据库标准化语言,这也使得其容易上手,并且编写相对规范。

MySQL最大的优势在于开放源码,使得其成为了一般中小型网站的开发首选。

SQL语句介绍:

作为是一种功能非常强大的数据库语言,SQL被译为结构查询语言,其英文全称为StructuredQueryLanguage。

通常会被应用在一些大型数据库的建立之中。

SQL语句一般用于完成数据的日常操作任务,例如在数据库中对数据进行插入、更新、删除,或者对数据库进行检索操作[10]。

常见的使用SQL的关系数据库系统有:

MySQL、Oracle、SQLsever2000、Sybase、DB2、MicrosoftSQLServer、Access等。

在不同的数据库中,绝大多数的SQL结构化查询语言都是可以通用的,只有个别情况下会有一定差异。

但是例如:

“Select”、“Insert”、“Update”、“Delete”、“Drop”、“Create”等标准SQL命令,即使在不同数据库中也是没有差异的。

SQL概括起来大概可以分为以下几个部分:

(1)DCL(DataControlLanguage数据控制语言)通常被用于对用户的权限进行赋予和取消;

(2)DDL(DataDefinitionLanguage数据定义语言)通常被用于数据结构的定义,如创建、修改、删除等命令;

(3)DML(DataManipulationLanguage数据操作语言)通常被用于检索或者修改数据库中的已有数据;

第四章框架研究

第一节Struts2框架

Struts2早先是ApacheJakarta项目构成成分,项目的先锋者想要改善及提升Servlet、JSP、标签库和面向对象技术水平,所以对此项目进行相信的研究。

Struts2是建立在web的技术之上的一个MVC框架并不是完全独立出来的技术,脱离这些技术,Struts2框架也就不能运用了[11]。

Struts2是Struts的升级品,Struts2框架是以struts1和WebWork的技术为基础进行了归并。

其崭新的Struts2体系结构和Struts1体系结构大不相同。

Struts2是以WebWork为核心,选用WebWork设计想法,而且选用拦截器的机制来解决客户要求,如此的设计也让业务逻辑控制器能够和ServletAPI彻底摆脱开,因此Struts2能够当成是WebWork更新之后的产物。

虽然Struts1和Struts2有着十分大的改动,然而相对WebWork和Struts2改变倒是微不足道[12]。

Struts2工作原理:

首先客户端会发出一个要求,此要求可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1