資源描述:
《Spring入門(強(qiáng)烈推薦,新手必看)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Spring目錄背景簡(jiǎn)介起源特點(diǎn)好處作用基本框架下載和安裝應(yīng)用實(shí)例主要產(chǎn)品Spring.NET研究源代碼的步驟IOC和AOPIOC容器背景簡(jiǎn)介起源特點(diǎn)好處作用基本框架下載和安裝應(yīng)用實(shí)例主要產(chǎn)品Spring.NET研究源代碼的步驟IOC和AOPIOC容器 RodJohnson在2002年編著的《ExpertonetooneJ2EEdesignanddevelopment》一SpringLogo書(shū)中,對(duì)JavaEE正統(tǒng)框架臃腫、低效、脫離現(xiàn)實(shí)的種種現(xiàn)狀提出了質(zhì)疑,并積極尋求探索革新之道。以此書(shū)為指導(dǎo)思想,他編寫了interface21框架,這是一個(gè)力圖沖破Java
2、EE傳統(tǒng)開(kāi)發(fā)的困境,從實(shí)際需求出發(fā),著眼于輕便、靈巧,易于開(kāi)發(fā)、測(cè)試和部署的輕量級(jí)開(kāi)發(fā)框架。Spring框架即以interface21框架為基礎(chǔ),經(jīng)過(guò)重新設(shè)計(jì),并不斷豐富其內(nèi)涵,于2004年3月24日,發(fā)布了1.0正式版。同年他又推出了一部堪稱經(jīng)典的力作《Expertone-to-oneJ2EEDevelopmentwithoutEJB》,該書(shū)在Java世界掀起了軒然大波,不斷改變著Java開(kāi)發(fā)者程序設(shè)計(jì)和開(kāi)發(fā)的思考方式。在該書(shū)中,作者根據(jù)自己多年豐富的實(shí)踐經(jīng)驗(yàn),對(duì)EJB的各種笨重臃腫的結(jié)構(gòu)進(jìn)行了逐一的分析和否定,并分別以簡(jiǎn)潔實(shí)用的方式替換之。至此一戰(zhàn)功成,Ro
3、dJohnson成為一個(gè)改變Java世界的大師級(jí)人物?! 鹘y(tǒng)J2EE應(yīng)用的開(kāi)發(fā)效率低,應(yīng)用服務(wù)器廠商對(duì)各種技術(shù)的支持并沒(méi)有真正統(tǒng)一,導(dǎo)致J2EE的應(yīng)用沒(méi)有真正實(shí)現(xiàn)WriteOnce及RunAnywhere的承諾。Spring作為開(kāi)源的中間件,獨(dú)立于各種應(yīng)用服務(wù)器,甚至無(wú)須應(yīng)用服務(wù)器的支持,也能提供應(yīng)用服務(wù)器的功能,如聲明式事務(wù)等。 Spring致力于J2EE應(yīng)用的各層的解決方案,而不是僅僅專注于某一層的方案??梢哉f(shuō)Spring是企業(yè)應(yīng)用開(kāi)發(fā)的“一站式”選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。然而,Spring并不想取代那些已有的框架,而是與它們無(wú)縫地整合。編輯本
4、段簡(jiǎn)介 Spring是一個(gè)開(kāi)源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益?! 裟康模航鉀Q企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性 ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 ◆范圍:任何Java應(yīng)用 簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架?! 糨p量——從大小與開(kāi)
5、銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開(kāi)銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。 ◆控制反轉(zhuǎn)——Spring通過(guò)一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它?! 裘嫦蚯忻妗猄pr
6、ing提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開(kāi)發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持?! 羧萜鳌猄pring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不
7、應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用?! 艨蚣堋猄pring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開(kāi)發(fā)留給了你?! ∷蠸pring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。編輯本段起源 你可能正在想“Spring不過(guò)是另外一個(gè)的framework”。當(dāng)已經(jīng)有許多開(kāi)放源代碼(和專有)J2EEframewor
8、k時(shí),我們?yōu)槭裁催€需要S