




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Spring6第二章二、Spring概述2.1Spring簡介來自百度百科Spring是一個開源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。Spring最初的出現(xiàn)是為了解決EJB臃腫的設(shè)計,以及難以測試等問題。Spring為簡化開發(fā)而生,讓程序員只需關(guān)注核心業(yè)務(wù)的實現(xiàn),盡可能的不再關(guān)注非業(yè)務(wù)邏輯代碼(事務(wù)控制,安全日志等)。2.2Spring8大模塊注意:Spring5版本之后是8個模塊。在Spring5中新增了WebFlux模塊。SpringCore模塊這是Spring框架最基礎(chǔ)的部分,它提供了依賴注入(DependencyInjection)特征來實現(xiàn)容器對Bean的管理。核心容器的主要組件是BeanFactory,BeanFactory是工廠模式的一個實現(xiàn),是任何Spring應(yīng)用的核心。它使用IoC將應(yīng)用配置和依賴從實際的應(yīng)用代碼中分離出來。SpringContext模塊如果說核心模塊中的BeanFactory使Spring成為容器的話,那么上下文模塊就是Spring成為框架的原因。這個模塊擴展了BeanFactory,增加了對國際化(I18N)消息、事件傳播、驗證的支持。另外提供了許多企業(yè)服務(wù),例如電子郵件、JNDI訪問、EJB集成、遠程以及時序調(diào)度(scheduling)服務(wù)。也包括了對模版框架例如Velocity和FreeMarker集成的支持SpringAOP模塊Spring在它的AOP模塊中提供了對面向切面編程的豐富支持,SpringAOP模塊為基于Spring的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用SpringAOP,不用依賴組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中,可以自定義攔截器、切點、日志等操作。SpringDAO模塊提供了一個JDBC的抽象層和異常層次結(jié)構(gòu),消除了煩瑣的JDBC編碼和數(shù)據(jù)庫廠商特有的錯誤代碼解析,用于簡化JDBC。SpringORM模塊Spring提供了ORM模塊。Spring并不試圖實現(xiàn)它自己的ORM解決方案,而是為幾種流行的ORM框架提供了集成方案,包括Hibernate、JDO和iBATISSQL映射,這些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。SpringWebMVC模塊Spring為構(gòu)建Web應(yīng)用提供了一個功能全面的MVC框架。雖然Spring可以很容易地與其它MVC框架集成,例如Struts,但Spring的MVC框架使用IoC對控制邏輯和業(yè)務(wù)對象提供了完全的分離。SpringWebFlux模塊SpringFramework中包含的原始Web框架SpringWebMVC是專門為ServletAPI和Servlet容器構(gòu)建的。反應(yīng)式堆棧Web框架SpringWebFlux是在5.0版的后期添加的。它是完全非阻塞的,支持反應(yīng)式流(ReactiveStream)背壓,并在Netty,Undertow和Servlet3.1+容器等服務(wù)器上運行。SpringWeb模塊Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文,提供了Spring和其它Web框架的集成,比如Struts、WebWork。還提供了一些面向服務(wù)支持,例如:實現(xiàn)文件上傳的multipart請求。2.3Spring特點輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。Spring是非侵入式的:Spring應(yīng)用中的對象不依賴于Spring的特定類??刂品崔D(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。當應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。容器Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。框架Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股東股份協(xié)議書:智能交通系統(tǒng)股權(quán)合作建設(shè)協(xié)議
- 二零二五年度貸款中介服務(wù)風險控制協(xié)議
- 2025年度綠色環(huán)保辦公用房租賃協(xié)議
- 2025年度私人簡易用工合同(個人生活助理服務(wù)條款)
- 《故都的秋》教學設(shè)計 2023-2024學年統(tǒng)編版高中語文必修上冊
- 《 短歌行》教學設(shè)計 2024-2025學年統(tǒng)編版高中語文必修上冊
- 2025年度會展中心前期物業(yè)管理合同
- 2025年度辦公家具及用品租賃服務(wù)協(xié)議
- 2025年度信用卡消費信貸借款合同
- 《第一單元 圖文處理與編排 第4課 總結(jié)與評價 二、填寫制作體會》教學設(shè)計教學反思-2023-2024學年初中信息技術(shù)人教版七年級上冊
- 作物栽培學課件棉花
- 感應(yīng)加熱操作規(guī)程
- 最新小學二年級口算及豎式計算練習題
- 生產(chǎn)與運作管理-陳榮秋
- 病理生理學教學病生6休克課件
- 金雞冠的公雞繪本課件
- 日影朝向及長短
- 沙盤游戲治療(課堂PPT)
- (完整版)學生的自我評價的表格
- 樸素貝葉斯分類器完整
- 教育系統(tǒng)績效工資分配方案(共6頁)
評論
0/150
提交評論