更新時(shí)間:2020-07-08 11:30:14 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2495次
Spring框架是一個(gè)分層架構(gòu),由7個(gè)定義良好的模塊組成。Spring框架構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理bean的方式,如下圖所示:
組成Spring框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或?qū)€(gè)模塊聯(lián)合實(shí)現(xiàn)。每個(gè)模塊的功能如下:
核心容器(Spring Core):核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IOC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開(kāi)。
Spring上下文(Spring Context):Spring上下文是一個(gè)配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國(guó)際化、校驗(yàn)和調(diào)度功能。
Spring AOP:通過(guò)配置管理特性,Spring AOP模塊直接將面向方面的編程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何對(duì)象支持AOP。Spring AOP模塊為基于Spring的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過(guò)使用Spring AOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。
Spring DAO:JDBC DAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來(lái)管理異常處理和不同數(shù)據(jù)庫(kù)供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu)簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開(kāi)和關(guān)閉連接)。Spring DAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。
Spring ORM:Spring框架插入了若干個(gè)ORM框架,從而提供了ORM的對(duì)象關(guān)系工具,其中包括JDO、Hibernate和iBatis SQL Map。所有這些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。
Spring Web模塊:Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。所以,Spring框架支持與Jakarta Struts的集成。Web模塊還簡(jiǎn)化了處理多部分請(qǐng)求以及將請(qǐng)求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?/p>
Spring MVC框架:MVC框架是一個(gè)全功能的構(gòu)建Web應(yīng)用程序的MVC實(shí)現(xiàn)。通過(guò)策略接口,MVC框架變成為高度可配置的,MVC容納了大量視圖技術(shù),其中包括JSP、Velocity、Tiles、iText和POI。
Spring框架的功能可以用在任何J2EE服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring的核心要點(diǎn)是:支持不綁定到特定J2EE服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問(wèn)對(duì)象。毫無(wú)疑問(wèn),這樣的對(duì)象可以在不同J2EE環(huán)境(Web或EJB)、獨(dú)立應(yīng)用程序、測(cè)試環(huán)境之間重用。
控制反轉(zhuǎn)模式(也稱作依賴性介入)的基本概念是:不創(chuàng)建對(duì)象,但是描述創(chuàng)建它們的方式。在代碼中不直接與對(duì)象和服務(wù)連接,但在配置文件中描述哪一個(gè)組件需要哪一項(xiàng)服務(wù)。容器(在Spring框架中是IOC容器)負(fù)責(zé)將這些聯(lián)系在一起。
面向方面的編程,即AOP,是一種編程技術(shù),它允許程序員對(duì)橫切關(guān)注點(diǎn)或橫切典型的職責(zé)分界線的行為(例如日志和事務(wù)管理)進(jìn)行模塊化。AOP的核心構(gòu)造是方面,它將那些影響多個(gè)類的行為封裝到可重用的模塊中。AOP的功能完全集成到了Spring事務(wù)管理、日志和其他各種特性的上下文中。
BeanFactory支持兩個(gè)對(duì)象模型。
單態(tài)模型提供了具有特定名稱的對(duì)象的共享實(shí)例,可以在查詢時(shí)對(duì)其進(jìn)行檢索。Singleton是默認(rèn)的也是最常用的對(duì)象模型。對(duì)于無(wú)狀態(tài)服務(wù)對(duì)象很理想。
原型模型確保每次檢索都會(huì)創(chuàng)建單獨(dú)的對(duì)象。在每個(gè)用戶都需要自己的對(duì)象時(shí),原型模型最適合。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java框架開(kāi)發(fā)視頻,Spring主流框架”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)