Spring 框架是一個(gè)開源的 Java 平臺(tái)。它最初由 Rod Johnson 編寫,并于 2003 年 6 月在 Apache 2.0 許可下首次發(fā)布。
Spring Framework 的核心功能可用于開發(fā)任何 Java 應(yīng)用程序,但有一些擴(kuò)展可用于在 Java EE 平臺(tái)之上構(gòu)建 Web 應(yīng)用程序。Spring 框架旨在通過啟用基于 POJO 的編程模型使 J2EE 開發(fā)更易于使用并促進(jìn)良好的編程實(shí)踐。
以下是使用 Spring Framework 的幾個(gè)巨大好處的列表 -
-
Spring 使開發(fā)人員能夠使用 POJO 開發(fā)企業(yè)級(jí)應(yīng)用程序。僅使用 POJO 的好處是您不需要 EJB 容器產(chǎn)品(如應(yīng)用程序服務(wù)器),但您可以選擇僅使用健壯的 servlet 容器(如 Tomcat 或某些商業(yè)產(chǎn)品)。
-
Spring 以模塊化方式組織。盡管包和類的數(shù)量很多,但您只需要擔(dān)心您需要的包和類,而忽略其余的。
-
Spring 并沒有重新發(fā)明輪子,而是真正利用了一些現(xiàn)有技術(shù),如幾個(gè) ORM 框架、日志框架、JEE、Quartz 和 JDK 計(jì)時(shí)器以及其他視圖技術(shù)。
-
測(cè)試用 Spring 編寫的應(yīng)用程序很簡(jiǎn)單,因?yàn)橐蕾囉诃h(huán)境的代碼被移到了這個(gè)框架中。此外,通過使用 JavaBeanstyle POJO,使用依賴注入來注入測(cè)試數(shù)據(jù)變得更加容易。
-
Spring 的 web 框架是一個(gè)精心設(shè)計(jì)的 web MVC 框架,它提供了一個(gè)很好的替代 web 框架,如 Struts 或其他過度設(shè)計(jì)或不太流行的 web 框架。
-
Spring 提供了一個(gè)方便的 API 來將特定于技術(shù)的異常(例如由 JDBC、Hibernate 或 JDO 拋出)轉(zhuǎn)換為一致的、未經(jīng)檢查的異常。
-
輕量級(jí) IoC 容器往往是輕量級(jí)的,尤其是與 EJB 容器相比時(shí)。這有利于在內(nèi)存和 CPU 資源有限的計(jì)算機(jī)上開發(fā)和部署應(yīng)用程序。
-
Spring 提供了一個(gè)一致的事務(wù)管理接口,可以縮小到本地事務(wù)(例如使用單個(gè)數(shù)據(jù)庫)和擴(kuò)展到全局事務(wù)(例如使用 JTA)。
Spring 最認(rèn)同的技術(shù)是控制反轉(zhuǎn)的依賴注入 (DI)風(fēng)格。該控制反轉(zhuǎn)(IOC)是一個(gè)籠統(tǒng)的概念,它可以在許多不同的方式來表達(dá)。依賴注入只是控制反轉(zhuǎn)的一個(gè)具體例子。
究竟什么是依賴注入?我們分別看一下這兩個(gè)詞。這里的依賴部分轉(zhuǎn)化為兩個(gè)類之間的關(guān)聯(lián)。例如,A 類依賴于 B 類。現(xiàn)在,讓我們看看第二部分,注入。所有這些意味著,B 類將被 IoC 注入到 A 類中。
面向方面編程 (AOP)
OOP 中模塊化的關(guān)鍵單位是類,而 AOP 中模塊化的單位是方面。DI 幫助您將應(yīng)用程序?qū)ο蟊舜朔蛛x,而 AOP 幫助您將橫切關(guān)注點(diǎn)與它們影響的對(duì)象分離。
Spring Framework 的 AOP 模塊提供了一個(gè)面向方面的編程實(shí)現(xiàn),允許您定義方法攔截器和切入點(diǎn),以干凈地解耦實(shí)現(xiàn)應(yīng)該分離的功能的代碼。我們將在單獨(dú)的章節(jié)中討論更多關(guān)于 Spring AOP 概念的內(nèi)容。
-
JAVA
+關(guān)注
關(guān)注
20文章
2983瀏覽量
106487 -
spring
+關(guān)注
關(guān)注
0文章
340瀏覽量
14790
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
銳寶智聯(lián)精彩亮相Japan IT Week Spring 2025
校園點(diǎn)餐訂餐外賣跑腿Java源碼

SSM框架的源碼解析與理解
SSM與Hibernate的整合使用
SSM框架的性能優(yōu)化技巧 SSM框架中RESTful API的實(shí)現(xiàn)
SSM框架的優(yōu)缺點(diǎn)分析 SSM在移動(dòng)端開發(fā)中的應(yīng)用
SSM開發(fā)環(huán)境的搭建教程 SSM與Spring Boot的區(qū)別
SSM框架在Java開發(fā)中的應(yīng)用 如何使用SSM進(jìn)行web開發(fā)
Spring 應(yīng)用合并之路(二):峰回路轉(zhuǎn),柳暗花明
JavaWeb框架比較
Spring事務(wù)實(shí)現(xiàn)原理

SpringBean初始化順序

Spring Cloud Gateway網(wǎng)關(guān)框架

玩轉(zhuǎn)Spring狀態(tài)機(jī)

評(píng)論