仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 492|回复: 10
打印 上一主题 下一主题

[学习教程] 来看EJB3和Spring手艺系统对照

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
跟着EJB3标准和撑持EJB3的JavaEE使用服务器的行将公布,全新JavaEE系统架构的新和平将拉开帷幕,在已往3年中热火朝天的Spring占有了JavaEE使用开辟基本平台的泰半江山,面临EJB3和Spring你应当怎样选择呢?
作为一个架构师,我对EJB是既爱且恨,对Spring又恨又爱,如今我们来也把这两年夜手艺系统来做一个周全剖析和对照,但愿能给人人在举行手艺选型时一个更好的参考。
1.法制VS“平易近主”
EJB标准一向由国际构造JCP来制订,一经经由过程,即作为官方尺度,且各厂商城市尽心尽力的推进,以是关于企业使用来讲,EJB就是法,以EJB为企业使用的基本架构临时称为法治;Spring来自开源社区,由浩瀚的开源软件开辟者介入,慢慢构成的一种盛行的系统尺度,它的计划以IoC(反转把持)为中心,倡始所谓的“零”侵进计划准绳,这里临时称之为平易近主。
撑持EJB的使用服务器通常为一个年夜而全的产物,包含了构建企业使用必要的各个方面,假如必要分外扩大一样平常不简单,假如对一个使用服务器不中意的话,那末能够且也只能改换全部使用服务器了,幸亏因为使用服务器市场百花齐放,从收费到低端再到高端,您能够任意选择;Spring从IoC容器开展而来,经由过程不休集成AOP、MVC、OR/Mapping和几近您能想到的各项服务而供应完美的企业使用架。关于一个使用,你能够自在选择详细的手艺框架的实现,SSH就是最经常使用一套组合,但是且不说是不是每一个架构师具有准确选择的才能,不管怎样,终极的选择在计划之月朔旦断定,要想改换便不那末简单,你不成能轻松的将一个基于Spring+Struts的使用轻松的移植到Spring+WebWork,更不克不及轻松的将一个基于Spring+Hibernate的使用轻松的移植到Spring+iBatis,以是关于必要临时保护和开展的使用来讲,将只能寄但愿于你接纳的框架都可以很好的开展,而且能在晋级的同时包管向前的兼容性。
综上所述,EJB因为关于全部天下是尺度的,就仿佛是一部国际法,一旦遵守,环球通用,你能够对照轻松的在WebSphere、WebLogic乃至JBoss之间举行切换,以是假如选择EJB,你将在一个”法制”的情况下取得最年夜的平易近主;而Spring关于全部天下看似平易近主的,但是一旦整套架构断定上去,却成了民主,如同美国式的平易近主,一旦被它制服,就成为它的专政统治了,想摆脱它的把持可就不那末简单了,个中的好坏,人人细细咀嚼吧。
2.轻量级组件VS轻量级内核VS轻量级容器
关于轻量级内核,不管失实是不是,当今的使用服务器都传播鼓吹接纳了微内核手艺,在此基本上创建JavaEE的各项服务构建成完美的使用服务器;而Spring自己就是一个基于IoC的轻量内核,然后经由过程集成第三方的服务器来供应完全的架构。
EJB组件已经被以为是一个分量级的组件,而备受品评,EJB3标准的主要方针就是简化EJB的开辟,供应一个容器办理的轻量级的组件计划。
可是有需要提示一下,轻量级的组件,其实不意味着供应服务的容器是轻量的,不论是EJB2仍是EJB3,使用服务器由于必要办理组件的卖力性命周期和举动,而且内置供应了各项服务,容器天然是一个分量级的服务;最少如今看来,现有的ApplicationServer供应的容器都还不敷够的轻量,从团体偏好来讲,我就十分喜好JBoss2.4这个版本,它有我必要的功效,同时又够复杂,而如今,JBoss4的启动速率已渐渐让我对它对得到了耐烦。
而关于Spring,也有一样的成绩,轻量级的内核,也不料味着全部框架是轻量的,更不料味着基于Spring的全部使用架构是轻量的。关于Spring,你必要往寻觅并粘合各类服务,然后让他们可以不乱的在一同事情,假如使用对手艺的需求较多,伸缩性请求也较高,你就会不休的在使用服务中到场其他服务,如:资本池、动静行列、集群等。当到场这些后,Spring的办理计划已和JavaEEApplicationServer办理计划一样分量级了。
寻求复杂、轻量,是每个使用架构的方针,关于企业使用的构建来讲,轻量级组件尺度+轻量的内核+轻量级的容器,并以此构建轻量级的使用平台,才是终极必要的。假如有轻量级的容器呈现,将匡助EJB3在企业使用中从头占有有益的位置。
3.可办理性与可控性
这个成绩关于一次性托付的项目大概不是成绩,可是关于质量请求更高、性命周期更长的产物,倒是权衡平台和架构的主要要素。
基于Spring架构的使用,因为太过的自在和天真,跟着项目标停顿,渐渐集成的第三方框架愈来愈多,很难包管集成的服务和编写的组件中有无毛病,乃至互相之间有严峻的抵触,那末,掌控全部项目标质量成了困难,光是一页接一页的设置文件,就晓得从此的保护成本也就随之增高,回忆一下EJB2.0时期的ejb-jar.xml吧;而EJB由于集成的都是尺度服务,并且组件模子也是流动的,加上使用服务器一样平常供应把持台,用来检察运转时的各项属性,并可对服务举行及时的办理,明显比Spring开辟的使用可控性更好。
4.功效性对照4.1IoC容器,AOP才能
在IoC的才能Spring要略强一些,可是在EJB3中能够完整用Annotation体例举行注进,在开辟上要复杂良多,关于一些绝对对照流动的注进,接纳Annotation更好,而关于一些大概必要常常变化的注进,XML加倍天真,EJB3恰好供应了如许的两种办理计划。假如你已得了XML害怕症,那末EJB3无疑将给您以摆脱。
同时,EJB3组件中,撑持多种体例注进,好比依附于称号、接口大概JNDI名,别的还撑持利用@PersistenceContext注进EntityManager,@Resource注进服务器资本,如EJBContext、TimerService等,而一些Annotation已成为JDK6的一部分,未来大概间接被JDK撑持。
AOP方面,假如您必要完全的AOP,而且在Spring中集成了AspectJ,那末EJB3天然没法比拟,可是假如您的项目以够用为准绳,只必要一样平常办法拦阻意义上的AOP,EJB3供应的各类回调办法应当能够满意您的请求了。
<p>
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-18 21:02:02 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
老尸 该用户已被删除
板凳
发表于 2015-1-23 14:25:45 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
变相怪杰 该用户已被删除
地板
发表于 2015-1-31 18:05:39 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
山那边是海 该用户已被删除
5#
发表于 2015-2-4 13:38:31 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
海妖 该用户已被删除
6#
发表于 2015-2-5 19:52:08 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
再见西城 该用户已被删除
7#
发表于 2015-2-7 08:02:24 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
再现理想 该用户已被删除
8#
发表于 2015-2-21 04:11:19 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-6 19:30:58 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
谁可相欹 该用户已被删除
10#
发表于 2015-3-13 06:34:12 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
因胸联盟 该用户已被删除
11#
发表于 2015-3-20 15:17:58 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-2 23:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表