成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細(xì)介紹Spring的核心

開發(fā) 后端
本文詳細(xì)介紹Spring的核心以及Spring的介紹,Spring的架構(gòu)性的好處和Spring能做什么等。

Spring的核心是個(gè)輕量級(jí)容器(container),實(shí)現(xiàn)了IoC(Inversion of Control)模式的容器,Spring的目標(biāo)是實(shí)現(xiàn)一個(gè)全方位的整合框架,在Spring框架下實(shí)現(xiàn)多個(gè)子框架的組合,這些子框架之間彼此可以獨(dú)立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案 。

Spring不會(huì)特別去提出一些子框架來與現(xiàn)有的OpenSource框架競(jìng)爭,除非它覺得所提出的框架夠新夠好,例如Spring有自己的 MVC框架方案,因?yàn)樗X得現(xiàn)有的MVC方案有很多可以改進(jìn)的地方,但它不強(qiáng)迫您使用它提供的方案,您可以選用您所希望的框架來取代其子框架,例如您仍可以在Spring中整合您的Struts框架 。

Spring的核心概念是IoC,IoC的抽象概念是「依賴關(guān)系的轉(zhuǎn)移」,像是「高層模組不應(yīng)該依賴低層模組,而是模組都必須依賴于抽象」是 IoC的一種表現(xiàn),「實(shí)現(xiàn)必須依賴抽象,而不是抽象依賴實(shí)現(xiàn)」也是IoC的一種表現(xiàn),「應(yīng)用程序不應(yīng)依賴于容器,而是容器服務(wù)于應(yīng)用程序」也是IoC的一種表現(xiàn)。

 

Spring簡介

關(guān)于Spring Framework,今年夏天你可能已經(jīng)聽見很多的議論。在本文中,我將試圖解釋Spring能完成什么,和我怎么會(huì)認(rèn)為它能幫助你開發(fā)J2EE應(yīng)用程序。

另一framework,你可能正在想“不過是另外一個(gè)的framework”。當(dāng)已經(jīng)有許多開放源代碼(和專有) J2EE framework時(shí),為什么你應(yīng)該費(fèi)心讀這篇文章,或下載Spring Framework?

我相信Spring是獨(dú)特的,因?yàn)槿舾蓚€(gè)原因:  它定位的領(lǐng)域是許多其他流行的framework沒有的。Spring關(guān)注提供一種方法管理你的業(yè)務(wù)對(duì)象。
Spring是全面的和模塊化的。Spring有分層的體系結(jié)構(gòu),這意味著你能選擇使用它孤立的任何部分,它的架構(gòu)仍然是內(nèi)在穩(wěn)定的。因此從你的學(xué)習(xí)中,你可得到最大的價(jià)值。例如,你可能選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業(yè)務(wù)對(duì)象。  它的設(shè)計(jì)從底部幫助你編寫易于測(cè)試的代碼。Spring是用于測(cè)試驅(qū)動(dòng)工程的理想的framework。Spring對(duì)你的工程來說,它不需要一個(gè)以上的framework。

Spring是潛在地一站式解決方案,定位于與典型應(yīng)用相關(guān)的大部分基礎(chǔ)結(jié)構(gòu)。它也涉及到其他framework沒有考慮到的內(nèi)容。盡管它僅僅是一個(gè)從2003年2月才開始的開源工程,但Spring有較長的歷史根基。這個(gè)開源工程是起源自我在2002年后期出版的《Expert One-on-One J2EE設(shè)計(jì)與開發(fā)》書中的基礎(chǔ)代碼。這本書展示了Spring背后的基礎(chǔ)架構(gòu)。然而,這個(gè)基礎(chǔ)架構(gòu)的概念要追溯到2000年的早些時(shí)候,并且反映了我為一系列成功的商業(yè)工程開發(fā)基礎(chǔ)結(jié)構(gòu)的經(jīng)驗(yàn)。從2003年1月,Spring已經(jīng)落戶于SourceForge上。現(xiàn)在有10個(gè)開發(fā)人員,其中6是高度投入的積極分子。

 

Spring的架構(gòu)性的好處
◆Spring能有效地組織你的中間層對(duì)象,無論你是否選擇使用了EJB。如果你僅僅使用了Struts或其他的包含了J2EE特有APIs的framework,你會(huì)發(fā)現(xiàn)Spring關(guān)注了遺留下的問題。
◆Spring能消除在許多工程上對(duì)Singleton的過多使用。根據(jù)我的經(jīng)驗(yàn),這是一個(gè)主要的問題,它減少了系統(tǒng)的可測(cè)試性和面向?qū)ο筇匦浴?BR>◆Spring 能消除使用各種各樣格式的屬性定制文件的需要,在整個(gè)應(yīng)用和工程中,可通過一種一致的方法來進(jìn)行配置。曾經(jīng)感到迷惑,一個(gè)特定類要查找迷幻般的屬性關(guān)鍵字或系統(tǒng)屬性,為此不得不讀Javadoc乃至源編碼嗎?有了Spring,你可很簡單地看到類的JavaBean屬性。倒置控制的使用(在下面討論)幫助完成這種簡化。   Spring能通過接口而不是類促進(jìn)好的編程習(xí)慣,減少編程代價(jià)到幾乎為零。
◆Spring被設(shè)計(jì)為讓使用它創(chuàng)建的應(yīng)用盡可能少的依賴于他的APIs。在Spring應(yīng)用中的大多數(shù)業(yè)務(wù)對(duì)象沒有依賴于Spring。
◆使用Spring構(gòu)建的應(yīng)用程序易于單元測(cè)試。
◆Spring能使EJB的使用成為一個(gè)實(shí)現(xiàn)選擇,而不是應(yīng)用架構(gòu)的必然選擇。你能選擇用POJOs或local EJBs來實(shí)現(xiàn)業(yè)務(wù)接口,卻不會(huì)影響調(diào)用代碼。
◆Spring幫助你解決許多問題而無需使用EJB。Spring能提供一種EJB的替換物,它們適于許多web應(yīng)用。例如,Spring能使用AOP提供聲明性事務(wù)而不通過使用EJB容器,如果你僅僅需要與單個(gè)的數(shù)據(jù)庫打交道,甚至不需要JTA實(shí)現(xiàn)。
◆Spring為數(shù)據(jù)存取提供了一致的框架,不論是使用JDBC或O/R mapping產(chǎn)品(如Hibernate)。
◆Spring確實(shí)使你能通過最簡單可行的解決辦法解決你的問題。這些特性是有很大價(jià)值的。

 

Spring能做什么

Spring提供許多功能,在此我將快速地依次展示其各個(gè)主要方面。首先,讓我們明確Spring范圍。盡管Spring覆蓋了許多方面,但我們已經(jīng)有清楚的概念,它什么應(yīng)該涉及和什么不應(yīng)該涉及。

Spring的主要目的是使J2EE易用和促進(jìn)好編程習(xí)慣。
Spring不重新開發(fā)已有的東西。因此,在Spring中你將發(fā)現(xiàn)沒有日志記錄的包,沒有連接池,沒有分布事務(wù)調(diào)度。這些均有開源項(xiàng)目提供(例如 Commons Logging 用來做所有的日志輸出,或Commons DBCP用來作數(shù)據(jù)連接池),或由你的應(yīng)用程序服務(wù)器提供。因?yàn)橥瑯拥牡脑颍覀儧]有提供O/R mapping層,對(duì)此,已有有好的解決辦法如Hibernate和JDO。

Spring的目標(biāo)是使已存在的技術(shù)更加易用。例如,盡管我們沒有底層事務(wù)協(xié)調(diào)處理,但我們提供了一個(gè)抽象層覆蓋了JTA或任何其他的事務(wù)策略。

Spring 沒有直接和其他的開源項(xiàng)目競(jìng)爭,除非我們感到我們能提供新的一些東西。例如,象許多開發(fā)人員,我們從來沒有為Struts高興過,并且感到在MVC web framework中還有改進(jìn)的余地。在某些領(lǐng)域,例如輕量級(jí)的 IoC容器和AOP框架,Spring有直接的競(jìng)爭,但是在這些領(lǐng)域還沒有已經(jīng)較為流行的解決方案。(Spring在這些區(qū)域是開路先鋒。)

Spring也得益于內(nèi)在的一致性。
所有的開發(fā)者都在唱同樣的的贊歌,基礎(chǔ)想法依然是Expert One-on-One J2EE設(shè)計(jì)與開發(fā)的那些。
并且我們已經(jīng)能夠使用一些主要的概念,例如倒置控制,來處理多個(gè)領(lǐng)域。

Spring在應(yīng)用服務(wù)器之間是可移植的。
當(dāng)然保證可移植性總是一次挑戰(zhàn),但是我們避免任何特定平臺(tái)或非標(biāo)準(zhǔn)化,并且支持在WebLogic,Tomcat,Resin,JBoss,WebSphere和其他的應(yīng)用服務(wù)器上的用戶。

Spring的核心即是個(gè)IoC/DI的容器,它可以幫程序設(shè)計(jì)人員完成組件之間的依賴關(guān)系注入,使得組件之間的依賴達(dá)到最小,進(jìn)而提高組件的重用性,Spring是個(gè)低侵入性(invasive)的框架,Spring中的組件并不會(huì)意識(shí)到它正置身于Spring中,這使得組件可以輕易的從框架中脫離,而幾乎不用任何的修改,反過來說,組件也可以簡單的方式加入至框架中,使得組件甚至框架的整合變得容易。

Spring最為人重視的另一方面是支持 AOP(Aspect-Oriented Programming),然而AOP框架只是Spring支持的一個(gè)子框架,說Spring框架是AOP框架并不是一件適當(dāng)?shù)拿枋觯藗儗?duì)于新奇的 AOP關(guān)注映射至Spring上,使得人們對(duì)于Spring的關(guān)注集中在它的AOP框架上,雖然有所誤解,但也突顯了Spring的另一個(gè)令人關(guān)注的特色。

Spring也提供MVC Web框架的解決方案,但您也可以將自己所熟悉的MVC Web框架與Spring解合,像是Struts、Webwork等等,都可以與Spring整合而成為進(jìn)用于自己的解決方案。Spring也提供其它方面的整合,像是持久層的整合如JDBC、O/R Mapping工具(Hibernate、iBATIS)、事務(wù)處理等等,Spring作了對(duì)多方面整合的努力,故說Spring是個(gè)全方位的應(yīng)用程序框架。

想要入門Spring,對(duì)于IoC/DI的了解是必要的。如果您想了解Spring的整體概念,可以看看Expert One on one J2EE Development Without EJB這本書,Spring的前身是由該作者的前一本書Expert One on one J2EE Design and Development中的一個(gè)實(shí)際程序開始,Spring本身是J2EE的一個(gè)輕量級(jí)容器解決方案,從這本書了解J2EE程序設(shè)計(jì)的考慮也是個(gè)不錯(cuò)的基礎(chǔ)建構(gòu)方式。對(duì)于Expert One on one J2EE Development Without EJB這本書,如果您想了解Spring,可以看chapter 7、chapter 13。

【編輯推薦】

  1. Spring3.0將全面支持REST
  2. 專家Isvy談Spring 3.0
  3. Spring框架的事務(wù)管理應(yīng)用分析
  4. Spring中XML配置文件的十二個(gè)最佳方法(上)
  5. Spring中XML配置文件的十二個(gè)最佳方法(下)
責(zé)任編輯:佚名 來源: csdn
相關(guān)推薦

2009-06-19 14:49:43

Spring框架

2009-11-18 13:11:29

PHP核心

2009-06-17 14:57:11

Spring事務(wù)管理

2010-03-16 09:04:23

2010-04-06 13:33:41

Oracle服務(wù)

2011-11-29 12:13:21

VPN

2024-06-13 10:05:36

2011-07-14 13:50:09

ThreadLocal

2011-03-15 09:14:29

2023-02-01 09:15:41

2023-06-26 08:42:18

Spring類型Resource

2011-06-20 09:34:17

優(yōu)化函數(shù)

2011-06-21 14:25:44

JavaScriptcookie

2011-07-08 16:54:39

JspCookies

2011-07-22 13:00:46

java

2011-07-22 16:37:01

java接口

2011-06-21 11:05:41

內(nèi)聯(lián)函數(shù)

2011-07-11 16:55:31

Java

2010-04-12 16:03:12

Oracle SGA設(shè)

2009-11-30 18:34:22

PHP簡單語法
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 成人免费毛片片v | 一区二区成人 | av一区二区三区 | 国产精品不卡一区二区三区 | 视频精品一区二区三区 | 欧美黄色性生活视频 | 91网站在线播放 | 婷婷成人在线 | 久久精品中文字幕 | 日韩不卡在线 | 日韩精品一区二 | 色伊人网 | 中文字幕91 | 亚洲激精日韩激精欧美精品 | 亚洲精品自拍视频 | 久久久久久九九九九九九 | 日本一区二区三区免费观看 | 狠狠伊人 | 国产欧美一区二区在线观看 | 毛片的网址| 在线播放国产视频 | 在线视频 中文字幕 | 日日日干干干 | h漫在线观看 | 亚洲精品乱码久久久久久按摩观 | 久久精品91 | 日本不卡免费新一二三区 | av一区在线观看 | 免费高潮视频95在线观看网站 | 在线第一页 | 欧美在线观看一区 | 国产精品国产三级国产aⅴ中文 | 国产精品s色 | 国产一区二区精品在线观看 | 黄色片视频网站 | 国产精品福利网站 | 欧美午夜精品 | 男人的天堂久久 | 午夜精品久久久 | 99久久免费精品视频 | 亚洲欧美在线视频 |