版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
整體架構(gòu)pnngFrameworkRuiitinie譏Fl在這里插入圖片描述pnngFrameworkRuiitinie譏Fl在這里插入圖片描述1.1核心容器組成:spring-beans、spring-core、spring-context、springexpression(SpringExpressionLanguage,SpEL)springcore主要包含Spring框架基本的核心工具類,Spring的其他組件都要用到這個包里的類,Core模塊是其他組件的基本核心。springbeans(BeanFactory)它包含訪問配直文件、創(chuàng)建和管理bean以及進(jìn)行InversionofControlIDependencyInjection(IoC/DI)操作相關(guān)的所有類BeanFactory接口是Spring框架中的核心接口,它是工廠模式的具體實現(xiàn)。BeanFactory使用控制反轉(zhuǎn)對應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼進(jìn)行了分離。但BeanFactory容器實例化后并不會自動實例化Bean,只有當(dāng)Bean被使用時,BeanFactory容器才會對該Bean進(jìn)行實例化與依賴關(guān)系的裝配。spring-context(App..context)模塊構(gòu)架于核心模塊之上,他擴(kuò)展了BeanFactory,為她添加了Bean生命周期控制、框架事件體系以及資源加載透明化等功能。此外該模塊還提供了許多企業(yè)級支持,如郵件訪問、遠(yuǎn)程訪問、任務(wù)調(diào)度等Applicationcontext是該模塊的核心接口,它的超類是BeanFactory。與BeanFactory不同,Applicationcontext容器實例化后會自動對所有的單實例Bean進(jìn)行實例化與依賴關(guān)系的裝配,使之處于待用狀態(tài)(使用BeanFacotry的bean是延時加載的,Applicationcontext是非延時加載的)spring-context-support模塊是對SpringlOC容器的擴(kuò)展支持,以及IOC子容器。spring-context-indexer模塊是Spring的類管理組件和Classpath掃描。spring-expression模塊是統(tǒng)一表達(dá)式語言(EL)的擴(kuò)展模塊,可以查詢、管理運(yùn)行中的對象,同時也方便的可以調(diào)用對象方法、操作數(shù)組、集合等。它的語法類似于傳統(tǒng)EL,但提供了額外的功能,最出色的要數(shù)函數(shù)調(diào)用和簡單字符串的模板函數(shù)。這種語言的特性是基于Spring產(chǎn)品的需求而設(shè)計,他可以非常方便地同SpringIOC進(jìn)行交互。1.2AOP和設(shè)備支持組成:spring-aop、spring-aspects、spring-instrumentspring-aop是Spring的另一個核心模塊,是AOP主要的實現(xiàn)模塊。作為繼OOP后,對程序員影響最大的編程思想之一,AOP極大地開拓了人們對于編程的思路。在Spring中,他是以JVM的動態(tài)代理技術(shù)為基礎(chǔ),然后設(shè)計出了一系列的AOP橫切實現(xiàn),比如前置通知、返回通知、異常通知等,同時,Pointcut接口來匹配切入點(diǎn),可以使用現(xiàn)有的切入點(diǎn)來設(shè)計橫切面,也可以擴(kuò)展相關(guān)方法根據(jù)需求進(jìn)行切入spring-aspects模塊集成自AspectJ框架,主要是為SpringAOP提供多種AOP實現(xiàn)方法。spring-instrument模塊是基于JAVASE中的“java.lang.instrument”進(jìn)行設(shè)計的,應(yīng)該算是AOP的一個支援模塊。主要作用是在JVM啟用時,生成一個代理類,程序員通過代理類在運(yùn)行時修改類的字節(jié),從而改變一個類的功能,實現(xiàn)AOP的功能。1.3數(shù)據(jù)訪問與集成組成:spring-jdbc、spring-tx、spring-orm、spring-jms、spring-oxmspringjdbc是Spring提供的JDBC抽象框架的主要實現(xiàn)模塊,用于簡化SpringJDBC操作。主要是提供JDBC模板方式、關(guān)系數(shù)據(jù)庫對象化方式、Simplejdbc方式、事務(wù)管理來簡化JDBC編程。主要實現(xiàn)類是JdbcTemplate、SimpleJdbcTemplate以及NamedParameterJdbcTemplate。springtx是SpringJDBC事務(wù)控制實現(xiàn)模塊。使用Spring框架,它對事務(wù)做了很好的封裝,通過它的AOP配置,可以靈活的配置在任何一層。但是在很多的需求和應(yīng)用,直接使用JDBC事務(wù)控制還是有其優(yōu)勢的。其實,事務(wù)是以業(yè)務(wù)邏輯為基礎(chǔ)的;一個完整的業(yè)務(wù)應(yīng)該對應(yīng)業(yè)務(wù)層里的一個方法;如果業(yè)務(wù)操作失敗,則整個事務(wù)回滾;所以,事務(wù)控制是絕對應(yīng)該放在業(yè)務(wù)層的;但是,持久層的設(shè)計則應(yīng)該遵循一個很重要的原則:保證操作的原子性,即持久層里的每個方法都應(yīng)該是不可以分割的。所以,在使用SpringJDBC事務(wù)控制時,應(yīng)該注意其特殊性。springorm是ORM框架支持模塊,主要集成HibernateJavaPersistenceAPI(JPA) 和JavaDataObjects(JDO)用于資源管理、數(shù)據(jù)訪問對象(DAO)的實現(xiàn)和事務(wù)策略。如JPA、JDO、Hibernate、iBatis等,提供了一個交互層。利用ORM封裝包,可以混合使用所有Spring提供的特性進(jìn)行O/R映射,如前邊提到的簡單聲明性事務(wù)管理。springoxm主要提供一個抽象層以支撐OXM(OXM是Object-to-XML-Mapping的縮寫,它是一個O/M-mapper,將java對象映射成XML數(shù)據(jù),或者將XML數(shù)據(jù)映射成java對象),例如:JAXB,Castor,XMLBeans,JiBX和XStream等。springjms(JavaMessagingService)能夠發(fā)送和接收信息,自SpringFramework4.1以后,他還提供了對spring-messaging模塊的支撐。1.4WEB組件組成:spring-web、spring-webmvc、spring-websocket、spring-webfluxspringweb為Spring提供了最基礎(chǔ)Web支持,主要建立于核心容器之上,通過Servlet或者Listeners來初始化IOC容器,也包含一些與Web相關(guān)的支持。springwebmvc眾所周知是一個的Web-Servlet模塊,實現(xiàn)了SpringMVC(model-view-Controller)的Web應(yīng)用。springwebsocket主要是與Web前端的全雙工通訊的協(xié)議。springwebflux一個新的非堵塞函數(shù)式ReactiveWeb框架,可以用來建立異步的,非阻塞,事件驅(qū)動的服務(wù)。并且擴(kuò)展性非常好。1.5集成測試springtest主要為測試提供支持的,畢竟在不需要發(fā)布(程序)到你的應(yīng)用服務(wù)器或者連接到其他企業(yè)設(shè)施的情況下能夠執(zhí)行一些集成測試或者其他測試對于任何企業(yè)都是非常重要的。模塊間依賴關(guān)系妙ung-iMn嗣stng-wb在這里插入圖片描述sprira-?Drniq吟口muspnngjng妙ung-iMn嗣stng-wb在這里插入圖片描述sprira-?Drniq吟口muspnngjngspnngjdbc■spriig-contexl-supncirf:spring-arsper+sspring-bearsgjjjg-webJu^3.spring版本命名規(guī)則版本號的格式為X.Y.Z(又稱Major.Minor.Patch),X:表示主版本號(Major),當(dāng)API的兼容性變化時,X需遞增Y:表示次版本號(Minor),當(dāng)增加功能時(不影響API的兼容性),Y需遞增。
? Z:表示修訂號(Patch),當(dāng)做Bug修復(fù)時(不影響API的兼容性),Z需遞增。描述方式說明
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度體育賽事運(yùn)營管理場規(guī)則與格式規(guī)范3篇
- 二零二四年度一致行動人文化旅游產(chǎn)業(yè)合作協(xié)議合同3篇
- 2025年水電安裝工程設(shè)備采購與安裝合同6篇
- 2025賓館與旅游公司聯(lián)合運(yùn)營客房租賃合同范本2篇
- 2024物流企業(yè)稅收優(yōu)惠適用合同
- 2025年度充電樁充電樁項目融資與投資合同3篇
- 2025廠房買賣合同模板:工業(yè)地產(chǎn)投資合作框架3篇
- 2025年度龍門吊拆除設(shè)備再利用及資源化利用合同范本4篇
- 2025年度裝飾藝術(shù)玻璃定制銷售合同3篇
- 二零二四年倉儲物流中心停車場租賃及倉儲服務(wù)合同3篇
- 公司SWOT分析表模板
- 小學(xué)預(yù)防流行性感冒應(yīng)急預(yù)案
- 肺癌術(shù)后出血的觀察及護(hù)理
- 聲紋識別簡介
- 生物醫(yī)藥大數(shù)據(jù)分析平臺建設(shè)-第1篇
- 基于Android的天氣預(yù)報系統(tǒng)的設(shè)計與實現(xiàn)
- 沖鋒舟駕駛培訓(xùn)課件
- 美術(shù)家協(xié)會會員申請表
- 聚合收款服務(wù)流程
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項目環(huán)境影響報告書
- 搞笑朗誦我愛上班臺詞
評論
0/150
提交評論