摘要:在中,框架的發布版本包括了個不同的模塊,每個模塊會有個文件二進制類庫源碼的文件以及的文件。所有的模塊都構建于核心容器之上。的模塊在模塊中,對面向切面編程提供了豐富的支持。的模塊提供了為添加代理的功能。測試提供了測試模塊以致力于應用的測試。
在Spring 4.0中,Spring框架的發布版本包括了20個不同的模塊,每個模塊會有3個JAR文件(二進制類庫、源碼的JAR文件以及JavaDoc的JAR文件)。完整的庫JAR文件如圖所示。
這些模塊依據其所屬的功能可以劃分為6類不同的功能,如圖所示。
Spring核心容器
容器是Spring框架最核心的部分,它管理著Spring應用中bean的創建、配置和管理。在該模塊中,包括了Spring bean工廠,它為Spring提供了DI的功能。基于bean工廠,我們還會發現有多種Spring應用上下文的實現,每一種都提供了配置Spring的不同方式。除了bean工廠和應用上下文,該模塊也提供了許多企業服務,例如E-mail、JNDI訪問、EJB集成和調度。
所有的Spring模塊都構建于核心容器之上。當你配置應用時,其實你隱式地使用了這些類。
Spring的AOP模塊
在AOP模塊中,Spring對面向切面編程提供了豐富的支持。這個模塊是Spring應用系統中開發切面的基礎。與DI一樣,AOP可以幫助應用對象解耦。借助于AOP,可以將遍布系統的關注點(例如事務和安全)從它們所應用的對象中解耦出來。
數據訪問與集成
使用JDBC編寫代碼通常會導致大量的樣板式代碼,例如獲得數據庫連接、創建語句、處理結果集到最后關閉數據庫連接。Spring的JDBC和DAO(Data Access Object)模塊抽象了這些樣板式代碼,使我們的數據庫代碼變得簡單明了,還可以避免因為關閉數據庫資源失敗而引發的問題。該模塊在多種數據庫服務的錯誤信息之上構建了一個語義豐富的異常層,以后我們再也不需要解釋那些隱晦專有的SQL錯誤信息了!
對于那些更喜歡ORM(Object-Relational Mapping)工具而不愿意直接使用JDBC的開發者,Spring提供了ORM模塊。Spring的ORM模塊建立在對DAO的支持之上,并為多個ORM框架提供了一種構建DAO的簡便方式。Spring沒有嘗試去創建自己的ORM解決方案,而是對許多流行的ORM框架進行了集成,包括Hibernate、Java Persisternce API、Java Data Object和MyBatis。Spring的事務管理支持所有的ORM框架以及JDBC。
Web與遠程調用
MVC(Model-View-Controller)模式是一種普遍被接受的構建Web應用的方法,它可以幫助用戶將界面邏輯與應用邏輯分離。Java從來不缺少MVC框架,Apache的Struts、JSF、WebWork和Tapestry都是可選的最流行的MVC框架。
雖然Spring能夠與多種流行的MVC框架進行集成,但它的Web和遠程調用模塊自帶了一個強大的MVC框架,有助于在Web層提升應用的松耦合水平。
除了面向用戶的Web應用,該模塊還提供了多種構建與其他應用交互的遠程調用方案。
Spring遠程調用功能集成了RMI(Remote Method Invocation)、Hessian、Burlap、JAX-WS,
同時Spring還自帶了一個遠程調用框架:HTTP invoker。Spring還提供了暴露和使用REST API的良好支持。
Instrumentation
Spring的Instrumentation模塊提供了為JVM添加代理(agent)的功能。具體來講,它為Tomcat提供了一個織入代理,能夠為Tomcat傳遞類文件,就像這些文件是被類加載器加載的一樣。如果這聽起來有點難以理解,不必對此過于擔心。
測試
Spring提供了測試模塊以致力于Spring應用的測試。
通過該模塊,你會發現Spring為使用JNDI、Servlet和Portlet編寫單元測試提供了一系列的mock對象實現。對于集成測試,該模塊為加載Spring應用上下文中的bean集合以及與Spring上下文中的bean進行交互提供了支持。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67724.html
摘要:表示少女與緊耦合在它的構造函數中自行創建了。面向切面編程往往被定義為促使軟件系統實現關注點的分離一項技術系統由許多不同的組件組成,每個組件各負責一特定的功能。我們可以把切面想象為覆蓋在很多組件之上的一個外殼。 第1章 Spring之旅 說明 1、本文抄寫了《Spring 實戰》重點內容,參考了GitHub上的代碼 2、每個人的學習方式不一樣,但目的是一樣的,活學活用。最近一直在聽《我...
摘要:這個文件會出現在創建的模板工程中,如果是單模塊工程,則是對整個項目的依賴管理如果是多模塊工程,該是總文件,該文件中會定義項目的子模塊以及對子模塊的依賴進行管理等,子模塊定義在子模塊下,子模塊文件只管理子模塊的依賴。 雖然maven已經提供了maven-archetype-webapp、maven-archetype-quickstart等項目骨架幫助我們快速構建項目架構,但是默認提供的...
摘要:傳統的代碼中,在類中調用其他對象,都是自己出來一個對象,然后調用,這樣代碼的耦合度就比較高。日志對象和主程序的耦合度降到最低,即使更改日志對象的操作,主程序不受影響。 SSM框架網站后臺搭建(一) 1.所用技術簡單介紹 1.SSM中的S:Spring Spring在百度詞條上的解釋是: Spring是一個開放源代碼的設計層面框架,他解決的是業務邏輯層和其他各層的松耦合問題,因此它將面向...
摘要:服務器充當微服務架構體系中的服務注冊中心。其他的微服務,使用客戶端連接到,并維持心跳連接,系統維護人員可以通過來監控系統中各個微服務是否正常運行。 當前微服務架構逐漸成為系統開發的主流方向,搭建微服務方式可以有多種,例如springcloud、dubbo、k8s等,本系列文章將基于本人參與的實際項目,來介紹基于springcloud搭建微服務的方式,Spring Cloud是一個基于S...
摘要:的面向的異常遵從通用的異常層次結構。比如以前常用的框架,現在常用的框架包含許多項目,下面挑一些最常用的出來總結一下。狀態是流程中事件發生的地點,在流程中通過轉移的方式從一個狀態到另一個狀態,流程的當前狀況稱為流程數據。 如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產生,學起來給人一種凌亂的感覺,我就在這里總結一下,理順頭緒...
閱讀 2136·2023-04-26 02:19
閱讀 1924·2021-11-19 09:40
閱讀 1712·2021-09-29 09:35
閱讀 3581·2021-09-29 09:34
閱讀 4332·2021-09-07 10:16
閱讀 5552·2021-08-11 11:14
閱讀 3589·2019-08-30 15:54
閱讀 1639·2019-08-30 15:53