資源描述:
《javaee開發(fā)四大常用框架》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、www.accpbj.comJavaEE開發(fā)四大常用框架 Struts Struts是一個基于SunJ2EE平臺的MVC框架,主要是采用Servlet和JSP技術(shù)來實現(xiàn)的。 Struts框架可分為以下四個主要部分,其中三個就和MVC模式緊密相關(guān): 1、模型(Model),本質(zhì)上來說在Struts中Model是一個Action類(這個會在后面詳細(xì)討論),開發(fā)者通過其實現(xiàn)商業(yè)邏輯,同時用戶請求通過控制器(Controller)向Action的轉(zhuǎn)發(fā)過程是基于由struts-config.xml
2、文件描述的配置信息的。 2、視圖(View),View是由與控制器Servlet配合工作的一整套JSP定制標(biāo)簽庫構(gòu)成,利用她們我們可以快速建立應(yīng)用系統(tǒng)的界面?! ?、控制器(Controller),本質(zhì)上是一個Servlet,將客戶端請求轉(zhuǎn)發(fā)到相應(yīng)的Action類。 4、一堆用來做XML文件解析的工具包,Struts是用XML來描述如何自動產(chǎn)生一些JavaBean的屬性的,此外Struts還利用XML來描述在國際化應(yīng)用中的用戶提示信息的(這樣一來就實現(xiàn)了應(yīng)用系統(tǒng)的多語言支持)?! prin
3、g Spring是輕量級的J2EE應(yīng)用程序框架。 Spring的核心是個輕量級容器(container),實現(xiàn)了IoC(InversionofControl)模式的容器,Spring的目標(biāo)是實現(xiàn)一個全方位的整合框架,在Spring框架下實現(xiàn)多個子框架的組合,這些子框架之間彼此可以獨立,也可以使用其它的框架方案加以替代,Spring希望提供one-stopshop的框架整合方案?! pring不會特別去提出一些子框架來與現(xiàn)有的OpenSource框架競爭,除非它覺得所提出的框架夠新夠好,例如
4、Spring有自己的MVC框架方案,因為它覺得現(xiàn)有的MVC方案有很多可以改進的地方,但它不強迫您使用它提供的方案,您可以選用您所希望的框架來取代其子框架,例如您仍可以在Spring中整合您的Struts框架?! pring的核心概念是IoC,IoC的抽象概念是「依賴關(guān)系的轉(zhuǎn)移」,像是「高層模組不應(yīng)該依賴低層模組,而是模組都必須依賴于抽象」是IoC的一種表現(xiàn),「實現(xiàn)必須依賴抽象,而不是抽象依賴實現(xiàn)」也是IoC的一種表現(xiàn),「應(yīng)用程序不應(yīng)依賴于容器,而是容器服務(wù)于應(yīng)用程序」也是IoC的一種表現(xiàn)?! ?/p>
5、Spring的架構(gòu)性的好處 Spring能有效地組織你的中間層對象,無論你是否選擇使用了EJB。如果你僅僅使用了Struts或其他的包含了J2EE特有APIs的framework,你會發(fā)現(xiàn)Spring關(guān)注了遺留下的問題。www.accpbj.com Spring能消除在許多工程上對Singleton的過多使用。根據(jù)我的經(jīng)驗,這是一個主要的問題,它減少了系統(tǒng)的可測試性和面向?qū)ο筇匦??! pring能消除使用各種各樣格式的屬性定制文件的需要,在整個應(yīng)用和工程中,可通過一種一致的方法來進行配置。
6、曾經(jīng)感到迷惑,一個特定類要查找迷幻般的屬性關(guān)鍵字或系統(tǒng)屬性,為此不得不讀Javadoc乃至源編碼嗎?有了Spring,你可很簡單地看到類的JavaBean屬性。倒置控制的使用(在下面討論)幫助完成這種簡化。Spring能通過接口而不是類促進好的編程習(xí)慣,減少編程代價到幾乎為零?! pring被設(shè)計為讓使用它創(chuàng)建的應(yīng)用盡可能少的依賴于他的APIs。在Spring應(yīng)用中的大多數(shù)業(yè)務(wù)對象沒有依賴于Spring。 使用Spring構(gòu)建的應(yīng)用程序易于單元測試。 Spring能使EJB的使用成為一個實
7、現(xiàn)選擇,而不是應(yīng)用架構(gòu)的必然選擇。你能選擇用POJOs或localEJBs來實現(xiàn)業(yè)務(wù)接口,卻不會影響調(diào)用代碼?! pring幫助你解決許多問題而無需使用EJB。Spring能提供一種EJB的替換物,它們適于許多web應(yīng)用。例如,Spring能使用AOP提供聲明性事務(wù)而不通過使用EJB容器,如果你僅僅需要與單個的數(shù)據(jù)庫打交道,甚至不需要JTA實現(xiàn)。 Spring為數(shù)據(jù)存取提供了一致的框架,不論是使用JDBC或O/Rmapping產(chǎn)品(如Hibernate)。 Spring確實使你能通過最簡單
8、可行的解決辦法解決你的問題。這些特性是有很大價值的。 Spring能做什么? Spring提供許多功能,在此我將快速地依次展示其各個主要方面?! ∪蝿?wù)描述: 首先,讓我們明確Spring范圍。盡管Spring覆蓋了許多方面,但我們已經(jīng)有清楚的概念,它什么應(yīng)該涉及和什么不應(yīng)該涉及?! pring的主要目的是使J2EE易用和促進好編程習(xí)慣。 Spring不重新開發(fā)已有的東西。因此,在Spring中你將發(fā)現(xiàn)沒有日志記錄的包,沒有連接池,沒有分布事務(wù)調(diào)度。這些均有開源項目提供(例如Common