简单生活 发表于 2015-1-18 11:23:04

了解下JAVA的Java企业使用体系框架的对照与挑选

大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
摘要今朝盛行的Java企业使用体系框架品种单一,为了使开辟职员准确选择体系架构从而进步Java企业使用的开辟效力,起首针对基于EJB和基于POJOs的较为盛行的几种框架分离举行了概述,然后对这些框架从体现层、营业逻辑层和耐久层的完成细节举行了对照,总结了Java企业使用体系框架选择必要偏重思索要素,失掉了基于EJB的框架和基于POJOs的框架分离合用的局限。
关头词Java企业使用体系框架;EJB3.0;Spring;Hibernate
弁言
EJB的系统布局是J2EE的基本和中心,J2EE界说了全部尺度的使用开辟系统布局和一个部署情况,基于EJB的框架一度成为人们开辟Java企业使用的首选。跟着Java开源项目阵营的开展强大,一些基于POJOs(PlanOldJavaObjects)的开源框架被愈来愈普遍地引进到Java企业使用的开辟中来。依据庞大水平人们习气把前者称为分量级框架,把后者称为轻量级框架。Java企业使用框架一样平常被分别为三个条理:体现层、营业逻辑组件层和耐久层。本文次要对今朝企业使用对应于这三个条理的两品种型的盛行框架举行了细节对照,最初针对Java企业使用的体系框架选择提出作者的概念。
两品种型框架概述
1、基于EJB的分量级框架
因为EJB容器可以很好的处置体系功能、事件机制、平安会见权限和散布式运算等成绩,基于EJB框架举行开辟能包管企业使用光滑开展,而不是开展到一种范围就从头改换一套软件体系,且能够包管开辟职员将年夜部分精神会合在营业逻辑的开辟上。接纳EJB框架开辟的企业使用具有必需承继或依附EJB容器的特性。EJB充实思索到了顶级年夜型项目标需求,利用它几近能办理企业级使用触及到的一切成绩,响应的基于EJB框架也是一个功效庞大的分量级框架。
J2EE1.4尺度划定的EJB2.1框架短少计划且完成起来有些过于庞大。以后J2EE5.0的新标准提出的EJB3.0的方针就是简化开辟,自创了一些基于POJO的头脑,它相对EJB2.1中两个主要的变更分离是:一是利用了Java5中的程序正文工具,正文代替了过量的XML设置文件而且打消了严厉组件模子需求;二是接纳了基于Hibernate和TopLink头脑的O/RMapping模子。
J2EE5.0的新标准中界说企业使用三个条理的尺度完成为:体现层接纳JSF(JavaServerFace),JSF的开辟流程的中心是事务驱动,组件和标签的封装水平十分高,良多典范使用已不必要开辟者去向理http。全部历程是经由过程IoC(依附注进)来完成的;营业组件层接纳EJB3.0的SessionBean。EJB3.0同意开辟者利用藕合松懈的组件来开辟使用。这些组件经由过程本人公布的贸易接口来耦合,不用像EJB2.1标准界说的那样一个Bean必需恪守的严厉的组件模子,每个EJB类必需从某一种笼统类中承继,并为容器供应了回调的钩子;耐久层接纳EJB3.0实体Bean耐久化模子,吸取了Hibernate的一些头脑接纳O/RMapping形式,EJBQL也有很多主要的改动。
2、基于POJOs的轻量级框架
在基于POJOs轻量级框架上开辟的使用程序无需依附于EJB容器可自力运转,对应于Java企业使用三个条理的轻量级框架手艺分离都失掉了必定的开展,这三个条理盛行的框架以下:
今朝对照盛行的开源体现层框架次要有Struts和Tapestry。Tapestry与Struts使用框架分歧的是,它是基于组件,而不是面向剧本言语(好比JSP和Velocity)的,组件是由一个界说文件(以XML的格局)、一个HTML模板、一个JAVA类组成的;营业组件层轻量级办理计划也很多,包含Spring、Hivemind等。可是今朝利用最为普遍的仍是Spring框架,Spring框架是一个基于IoC和AOP(面向方面编程)的构架。接纳IoC使得它能够很简单的完成bean的拆卸,供应了简便的AOP并据此完成事件办理等,可是它不具有处置使用散布式的才能。Spring的中心要点是:撑持不绑定到特定J2EE服务的可重用营业和数据会见对象。如许的对象能够在分歧J2EE情况(Web或EJB)、自力使用程序、测试情况之间重用;耐久层框次要有Hibernate和各类JDO产物,和iBATIS。Hibernate是一个开源的O/RMapping框架,它对JDBC举行了十分轻量级的对象封装,能够使用在任何利用JDBC的场所,能够在使用EJB的J2EE框架中代替CMP,完成数据耐久化的重担。iBATIS是一个浅易的SQLMap工具,它是将手工编写的在xml设置文件中的SQL语句映照成Java对象。
<p>
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。

爱飞 发表于 2015-1-20 22:54:35

Java是一种计算机编程语言,拥有跨平台、面向对java

变相怪杰 发表于 2015-1-26 23:42:23

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

老尸 发表于 2015-2-2 22:21:12

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

深爱那片海 发表于 2015-2-6 16:21:12

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

灵魂腐蚀 发表于 2015-2-7 01:15:01

是一种将安全性(Security)列为第一优先考虑的语言

仓酷云 发表于 2015-2-19 06:47:08

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

飘飘悠悠 发表于 2015-2-23 07:54:53

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

小魔女 发表于 2015-2-24 05:58:12

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

海妖 发表于 2015-3-7 11:37:16

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

活着的死人 发表于 2015-3-15 02:05:49

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
页: [1]
查看完整版本: 了解下JAVA的Java企业使用体系框架的对照与挑选