【Spring】概述

Spring是什麼

Spring是分層的Java SE/EE應用 full-stack輕量級開源框架,以IoC(Inverse Of Control:反轉控制)和AOP(Aspect Oriented Programming:面向切面編程)爲內核,提供了展現層Spring MVC和持久層Spring JDBC以及業務層事務管理等衆多的企業級應用技術,還能整合開源世界衆多著名的第三方框架和類庫,逐漸成爲使用最多的Java EE企業應用開源框架。

Spring的優勢

方便解耦,簡化開發

通過Spring提供的IoC容器,可以將對象間的依賴關係交由Spring進行控制,避免硬編碼所造成的過度程序耦合。用戶也不必再爲單例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注於上層的應用。

AOP編程的支持

通過Spring的AOP功能,方便進行面向切面的編程,許多不容易用傳統OOP實現的功能可以通過AOP輕鬆應付。

聲明式事務的支持

通過聲明式方式靈活的進行事務的管理,提高開發效率和質量。

方便程序的測試

可以用非容器依賴的編程方式進行幾乎所有的測試工作,測試不再是昂貴的操作,而是隨手可做的事情。

Spring框架的體系結構

Spring 的核心是一個 容器,通常稱爲 Spring 應用程序上下文,用於創建和管理應用程序組件。這些組件(或 bean)在 Spring 應用程序上下文中連接在一起以構成一個完整的應用程序,就像將磚、灰漿、木材、釘子、管道和電線綁在一起以組成房屋。

將 bean 連接在一起的行爲是基於一種稱爲 依賴注入(DI)的模式。依賴項注入的應用程序不是由組件自身創建和維護它們依賴的其他 bean 的生命週期,而是依賴於單獨的實體(容器)來創建和維護所有組件,並將這些組件注入需要它們的 bean。通常通過構造函數參數或屬性訪問器方法完成此操作。

IOC

Spring 核心模塊實現了loC 的功能,它將類與類之間的依賴從代碼中脫離出來,用配置的方式進行依賴關係描述, 由IoC 容器負責依賴類之間的創建、拼接、管理、獲取等工作。BeanFactory 接口是Spring 框架的核心接口,它實現了容器許多核心的功能。

Context 模塊構建於核心模塊之上,擴展了BeanFactory 的功能,添加了Bean 生命週期控制、框架事件體系、資源加載透明化等多項功能。此外,該模塊還提供了許多企業級服務的支持,如郵件服務、任務調度、開IDI 獲取、EJB 集成、遠程訪問等。ApplicationContext 是Context 模塊的核心接口。

表達式語言模塊是統一表達式語言CUnified EL)的一個擴展,該表達式語言用於
查詢和管理運行期的對象,支持設直/獲取對象屬性,調用對象方法,操作數組、集合等。此外,該模塊還提供了邏輯表達式運算、變量定義等功能, 可以方便地通過表達式串和SpringloC 容器進行交互。

AOP

AOP 是進行橫切邏輯編程的思想, 它開拓了考慮問題的思路。在AOP 模塊裏, Spring 提供了滿足AOP Alliance規範的實現,還整合了AspectJ 這種AOP 語言級的框架。在Spring 裏實現AOP 編程有衆多選擇。Java 5.0 引入java.lang.instrument,允許在JVM 啓動時啓用一個代理類,通過該代理類在運行期修改類的字節碼,改變一個類的功能,從而實現AOP 的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章