偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

EJB3.0和Spring的抉擇

開發(fā) 后端
EJB3.0和Spring在傳遞POJO服務時采用了完全不同的方法,這使得開發(fā)者在實施POJO時不得不進行艱難的選擇。本文能幫您做出抉擇。

EJB3.0和Spring在傳遞POJO服務時采用了完全不同的方法,這使得開發(fā)者在實施POJO時不得不進行艱難的選擇。

對于POJO的開發(fā),存在著兩種框架EJB3.0和Spring,這兩個框架組件的核心設計理念是相同的:把中間件服務傳遞給松散耦合的簡單舊式Java對象(POJO)。這些框架組件通過在運行時截取執(zhí)行內(nèi)容或向POJO注入服務對象,把應用程序服務與POJO捆綁在一起。POJO本身不關(guān)心捆綁的過程,并且對框架組件幾乎沒有依賴。其結(jié)果是,開發(fā)者可以聚焦于業(yè)務邏輯,個人可以在沒有框架組件的情況下測試他們的POJO。此外,由于POJO不需要從框架組件中繼承或?qū)崿F(xiàn)框架組件接口,開發(fā)者建立繼承結(jié)構(gòu)和構(gòu)建應用程序的時候都有高度的靈活性。

但是,盡管兩者的設計理念是相同的,它們傳遞POJO服務時卻采用了完全不同的方法。

注入方式

Spring仍然是依賴XML來注入到POJO的,XML寫起來比較麻煩,雖然流行的IDE都有圖形化的編輯界面,但還是很難操作,同時Spring使用XML來說明配置聲明性服務,也會產(chǎn)生一個冗長的配置文件。這些配置文件必須在運行時才能知道其中的錯誤,哪怕是一個大小寫的問題。因此Spring目前也在考慮如何簡化XML配置文件。

EJB3.0使用Annotation,這要比Spring簡單明了,但其功能也受到一定的限制。Spring基于XML配置的依賴注入語法復雜,但功能卻非常強大??梢詫⑷魏我粋€POJO注入到另一個POJO,包括應用程序中自定義的那些POJO。

松散耦合度與服務集成

Spring與應用服務器采取松散耦合,作為Spring設計的核心理念,這樣增強了Spring的靈活性,但同時也增加了開發(fā)的復雜度,因為如此一來,開發(fā)者就必須弄清楚Spring對應的應用服務器的。而事實上,這些與應用服務器的關(guān)聯(lián)代碼對于開發(fā)者大都是不必要的,開發(fā)者往往只需要關(guān)系業(yè)務邏輯就可以了。使用Spring的聲明式事務服務來管理Hibernate事務,必須在 XML配置文件中明確的配置Spring的事務管理器(TransactionManager)和Hibernate SessionFactory對象。

EJB3.0框架與應用服務器結(jié)合較緊密,服務被集成封裝,隱藏在EJB接口后面。因為EJB3.0本身就是J2EE標準的一部份,因此,它與其他J2EE服務如JCA,JMX都結(jié)合的很好。而缺點也正是結(jié)合太緊密,不夠靈活。

對Web框架的支持度

Spring在這方面要優(yōu)于EJB3.0,幾乎所有開源項目都有這個特性——對現(xiàn)有的流行技術(shù)支持度都非常好。Spring可以靈活地集成各種Web框架和模板語言,另外自身也提供了相當強大的Spring-MVC框架,而且可以很好的結(jié)合spring webflow,webwork,struts等。同時隨著Spring Web Services 1.0正式公布,Spring對web service開發(fā)明顯增強了,這無疑使Spring愛好者開發(fā)者更加熱衷于Spring。

EJB3.0標準集成JSF,但JSF目前并不成熟,也沒有得到預期的效果。同時EJB3.0對其他web框架支持也比較差。

開源與標準規(guī)范

Spring框架是開源項目,但不是標準的。Spring的接口配置文件描述都是私有的。雖然,Rona 聲稱Spring完全支持可以不使用Spring的特殊專有服務,但是實際情況往往不是這樣的。因此,一旦使用了Spring的特殊服務,那么就綁定到了 Spring框架上了。例如,如果使用它的管理服務,則必須使用相應的Spring私有的API。而且,Spring的發(fā)展完全依賴于Spring開源項目,這使得它的支持力度也不夠。

EJB3.0是完全公開的規(guī)范標準,它本身是J2EE標準的一部分,因此得到了很多廠商的支持。例如,JBoss在EJB3.0剛出來時,就宣布其新的版本支持EJB3.0的服務器。這樣基于EJB3.0的程序就可以比較輕松地在 WebSphere、WebLogic以及JBoss之間進行切換(除非使用了應用服務器提供的專有組件)。

【編輯推薦】

  1. EJB3.1增加了Singleton Beans的概念
  2. 什么是EJB,EJB技術(shù)概覽
  3. EJB2.0教程 詳解EJB技術(shù)及實現(xiàn)原理
  4. MyEclipse+Weblogic開發(fā)EJB組件
  5. Java使用EJB容器的詳細概述
責任編輯:佚名 來源: 軟件世界
相關(guān)推薦

2009-06-12 12:46:59

EJB3.0

2009-06-15 16:06:25

JBoss IDE

2009-06-12 09:30:56

EJB3.0Spring+Hibe

2009-09-24 12:05:35

2009-06-22 16:59:33

POJOSpringEJB 3.0

2009-06-26 14:37:10

EJB和Spring

2009-06-26 15:17:44

SDOEJB 3.0

2009-09-01 11:19:47

C# 3.0擴展重載抉

2009-06-26 14:54:18

Spring支持EJB

2009-06-04 17:33:08

EJB 3.1EJB 3.0

2009-06-01 12:04:38

JPASpringJAVA

2009-10-29 09:52:55

OSGi

2009-06-11 15:26:05

EJB組件EJB容器

2009-06-01 15:32:30

EclipseJPA入門

2009-04-17 22:29:44

2009-06-11 16:01:17

EJB容器

2009-09-22 11:30:57

2009-06-12 15:03:19

ibmdwWebSphere

2012-02-28 10:08:21

Nokia諾基亞MWC

2010-05-06 09:53:04

ibmdwWebSphere
點贊
收藏

51CTO技術(shù)棧公眾號