框架集合:能將簡單的組件進行配置,組合成為更為復雜的應用;在 Spring 中,應用對象被聲明式地組合在一個 XML 文件中;此外,Spring 也提供了事務管理、 持久化框架集成等基礎功能,將應用邏輯的開發留給開發者;
2. Spring 核心組件
Spring 是一個分層架構,主要由如下 7 大模塊所構成。Spring 模塊位于核心容器,定義了創建、配置和管理 Bean 的方式。
Spring Core:提供 Spring 框架基本功能,主要組件是 BeanFactory,是工廠模式的實現,通過 IOC 機制將應用程序的配置和依賴性規范與實際的應用程序代碼分開。
Spring Context:一個配置文件,給 Spring 框架提供上下文信息,上下文包括 JNDI、EJB、電子郵件、國際化、校驗和調度等企業服務。
Spring AOP :通過配置管理特性,Spring AOP 直接將 AOP(面向切面)功能集成到 Spring 框架。從而我們能夠十分方便的使用 Spring 框架來管理任何支持 AOP 的對象。模塊為基于 Spring 的應用程序中的對象提供了事務管理服務。通過使用該組件,可以不依賴其他組件九江聲明性事務管理集成到應用程序中。
Spring DAO:JDBC DAO 抽象層提供了有意義的異常層次結構,可以用來管理異常處理和不同數據庫供應商拋出的錯誤信息。異常層次結構簡化了錯誤處理,而且極大降低了需要編寫的異常代碼數量。Spring DAO 面向 JDBC 的異常遵從通用的 DAO 異常層次結構。
Spring ORM:Spring 框架中插入了若干個 ORM 框架,從而提供了 ORM 的對象關系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map,這些都遵從 Spring 的通用事務和 DAO 異常層次結構;
Spring Web:Web 上下文模塊建立在應用程序上下文模塊之上,為基于 Web 的應用程序提供了上下文,所以 Spring 框架支持與 Jakarta Structs 的集成。同時該模塊還簡化了處理多部分請求以及請求參數綁定到域對象的工作。
Spring MVC:MVC 是一個全功能的構建 Web 應用的 MVC 實現,可以通過策略接口對 MVC 框架實現高度可配置。而且 MVC 還容納了 JSP、Velocity、Tiles 等視圖技術。
3. Spring 常用注解
4. IoC 原理
4.1 定義
Spring 通過一個配置文件來描述 Bean 之間的相互依賴關系,利用 Java 的反射功能來實例化 Bean 并建立 Bean 之間的依賴關系。Spring 的 IoC 容器在完成這些底層工作的基礎上,還提供 Bean 實例緩存、生命周期管理、Bean 實例代理、事件發布、資源裝載等高級服務;