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ù)。
-
測試用 Spring 編寫的應(yīng)用程序很簡單,因?yàn)橐蕾囉诃h(huán)境的代碼被移到了這個(gè)框架中。此外,通過使用 JavaBeanstyle POJO,使用依賴注入來注入測試數(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 類?,F(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)容。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
Spring Cloud Gateway網(wǎng)關(guān)框架 本軟件微服務(wù)架構(gòu)中采用Spring Cloud Gateway網(wǎng)關(guān)控制框架,Spring
發(fā)表于 08-22 09:58
?370次閱讀
說起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹Spring狀態(tài)機(jī)之前,讓我們來看看設(shè)計(jì)模式中的狀態(tài)模式
發(fā)表于 06-25 14:21
?815次閱讀
本文主要介紹了Spring事務(wù)傳播性的相關(guān)知識(shí)。
發(fā)表于 01-10 09:29
?355次閱讀
說起 Spring 狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒錯(cuò),Spring 狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹 Spring 狀態(tài)機(jī)之前,讓我們來看看設(shè)計(jì)模式中的狀態(tài)模式。
發(fā)表于 12-26 09:39
?1778次閱讀
Spring針對(duì)Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API(JPA)等事務(wù) API,實(shí)現(xiàn)了一致的編程模型,而
發(fā)表于 12-11 15:03
?795次閱讀
spring中常用的設(shè)計(jì)模式達(dá)到九種,我們一一舉例
發(fā)表于 12-11 09:56
?834次閱讀
Dubbo和Spring Cloud是兩個(gè)非常流行的微服務(wù)框架,各有自己的特點(diǎn)和優(yōu)勢。在本文中,我們將詳細(xì)介紹Dubbo和Spring Cloud的區(qū)別。 1.架構(gòu)設(shè)計(jì): Dubbo是阿里巴巴開源
發(fā)表于 12-04 14:47
?1468次閱讀
Spring Boot是一個(gè)用來簡化Spring應(yīng)用開發(fā)的框架,它使得開發(fā)人員能夠快速搭建起一個(gè)獨(dú)立的、可執(zhí)行的、基于Spring的應(yīng)用程序。Spr
發(fā)表于 12-03 15:14
?1422次閱讀
在Spring框架中,依賴注入是一種核心的概念和機(jī)制。通過依賴注入,我們可以讓對(duì)象之間的依賴關(guān)系更加松散,并且能夠方便地進(jìn)行單元測試和模塊化開發(fā)。在Spring中,有多種方式來實(shí)現(xiàn)依賴注入,下面將
發(fā)表于 12-03 15:11
?1656次閱讀
Spring MVC是一種基于Java的Web應(yīng)用程序框架,它采用了Model-View-Controller(MVC)設(shè)計(jì)模式來分離應(yīng)用程序的不同方面。Spring MVC的工作原理涉及多個(gè)關(guān)鍵
發(fā)表于 12-03 11:49
?701次閱讀
Spring MVC是一種基于Java的Web框架,它充分利用了Java的優(yōu)點(diǎn),如面向?qū)ο缶幊?、模塊化、可重用性和可擴(kuò)展性。Spring MVC的工作原理可以總結(jié)為以下幾個(gè)步驟:請(qǐng)求的發(fā)送、請(qǐng)求
發(fā)表于 11-22 16:53
?736次閱讀
Spring Boot 是一個(gè)開源的、用于開發(fā)微服務(wù)的框架,它基于 Java 平臺(tái)。它提供了一種快速、敏捷的方式來構(gòu)建獨(dú)立的、可部署的、生產(chǎn)級(jí)別的 Spring 應(yīng)用程序。Spring
發(fā)表于 11-22 15:53
?1191次閱讀
Spring 是一個(gè)開源的輕量級(jí)框架,可以用于構(gòu)建企業(yè)級(jí)應(yīng)用程序。其最重要的特性之一是依賴注入(Dependency Injection,DI),這是一種設(shè)計(jì)模式,它可以幫助我們解耦代碼、提高
發(fā)表于 11-22 15:12
?428次閱讀
Spring分布式框架是一套基于Spring框架的解決方案,用于構(gòu)建分布式系統(tǒng)。它提供了一系列的組件和模塊,可以幫助開發(fā)人員輕松地構(gòu)建可擴(kuò)展、高可用、高性能的分布式應(yīng)用程序。下面將詳細(xì)
發(fā)表于 11-16 10:58
?707次閱讀
Spring Boot 是一個(gè)用于簡化 Spring 應(yīng)用程序開發(fā)的框架,它利用 Spring 框架的強(qiáng)大功能,使得基礎(chǔ)架構(gòu)的搭建變得更加簡
發(fā)表于 11-16 10:56
?347次閱讀
評(píng)論