溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring3.0第一講:Spring整體架構(gòu)

發(fā)布時(shí)間:2020-07-10 14:38:04 來(lái)源:網(wǎng)絡(luò) 閱讀:944 作者:zangyanan2016 欄目:開發(fā)技術(shù)

  首先讓我們來(lái)看一下Spring框架的分層:

    Spring3.0第一講:Spring整體架構(gòu)

    從上面我們大致可以知道Spring由20多個(gè)模塊組成,它們之間相互獨(dú)立卻又相互依賴,只要我們掌握了上面的所有模塊,就說(shuō)明你已經(jīng)掌握了學(xué)習(xí)Spring框架的主線。

    整個(gè)Spring模塊是建立在Core Container上的,在該容器里Beans與Core是框架的基礎(chǔ)部分,提供Ioc和依賴注入特性,這里的基礎(chǔ)概念是BeanFactory,它提供對(duì)Factory模式的經(jīng)典實(shí)現(xiàn)來(lái)消除對(duì)程序性單例模式的需要,并真正的允許你從程序邏輯中分離出依賴關(guān)系和配置。 

  Context模塊構(gòu)建于Core和Beans模塊基礎(chǔ)之上,提供了一種類似于JNDI注冊(cè)器的框架式的對(duì)象訪問(wèn)方法。Context模塊繼承了Beans的特性,然后添加了對(duì)國(guó)際化(例如資源綁定)、事件傳播、資源加載和對(duì)Context的透明創(chuàng)建的支持。Context模塊同時(shí)也支持J2EE的一些特性,例如EJB、JMX和基礎(chǔ)的遠(yuǎn)程處理。ApplicationContext接口是Context模塊的關(guān)鍵。

    Expression Language模塊提供了一個(gè)強(qiáng)大的表達(dá)式語(yǔ)言用于在運(yùn)行時(shí)查詢和操縱對(duì)象。它是JSP2.1規(guī)范中定義的unifed expression language的一個(gè)擴(kuò)展。該語(yǔ)言支持設(shè)置/獲取屬性的值、屬性的分配、方法的調(diào)用、訪問(wèn)數(shù)組上下文(accessiong the context of arrays)、容器和索引器、邏輯和算術(shù)運(yùn)算符、命名變量以及從Spring的IoC容器中根據(jù)名稱檢索對(duì)象。它也支持list投影、選擇和一般的list聚合。

  AOP模塊提供了一個(gè)符合AOP聯(lián)盟標(biāo)準(zhǔn)的面向切面編程的實(shí)現(xiàn),它讓你可以定義,例如方法攔截器和切點(diǎn),從而將邏輯代碼分開,降低它們之間的耦合性。利用source-level的元數(shù)據(jù)功能,還可以將各種行為信息合并到你的代碼中,這有點(diǎn)像.net中的attribute的概念。

  Aspects模塊提供了對(duì)AspectJ的集成支持。

  Instrumentation模塊提供了class instrumentation支持和classloader實(shí)現(xiàn),使得可以在特定的應(yīng)用服務(wù)器上使用。

 JDBC模塊提供了一個(gè)JDBC抽象層,它可以消除冗長(zhǎng)的JDBC編碼和解析數(shù)據(jù)庫(kù)廠商特有的錯(cuò)誤代碼。

   ORM模塊為流行的對(duì)象-關(guān)系映射API——JPA、JDO、Hibernate、iBatis等提供了一個(gè)交互層。利用ORM封裝包,可以混合使用所有Spring提供的特性進(jìn)行O/R映射。如前邊提到的簡(jiǎn)單聲明性事物管理。

   OXM模塊提供了一個(gè)對(duì)Object/XML映射實(shí)現(xiàn)的抽象層,Object/XML映射實(shí)現(xiàn)包括JAXB、Castor、XMLBeans、JiBX和XStream。

   JMS(Java Messaging Service)模塊主要包含了一些制造和消費(fèi)消息的特性。

Transaction模塊:該模塊支持編程和聲明性的事物管理,這些事物類必須實(shí)現(xiàn)特定的接口,并且對(duì)所有的POJO都適用。

  •    Web模塊提供了基礎(chǔ)的面向web的集成特性。例如多文件上傳、使用servlet listeners初始化IoC容器以及一個(gè)面向web的應(yīng)用上下文。它還包含Spring遠(yuǎn)程支持中web相關(guān)部分。

   Web-Servlet模塊包含Spring的model-view-controller(MVC)實(shí)現(xiàn)。Spring的MVC框架使得模型范圍內(nèi)的代碼和web forms之間能夠清楚的分離開來(lái),并與Spring框架的其他特性集成在一起。

  Web-Struts模塊提供了對(duì)Struts的支持,使得類在Spring應(yīng)用中能夠與一個(gè)典型的Struts web層集成在一起。注意,該支持在Spring 3.0中是deprecated的。   Web-Porlet模塊提供了用于portlet環(huán)境和Web-Servlet模塊的MVC的實(shí)現(xiàn)。   

以上是Spring框架的總體介紹,后面我們會(huì)針對(duì)模塊進(jìn)行詳細(xì)的解說(shuō)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI