您的「關注」和「點贊」,是信任,是承認,是支持,是動力......web
如意見相佐,可留言。
本人必將不遺餘力試圖作到準確和全面,終其一輩子進行修改補充更新。spring
能夠看一下官網給出的介紹,以下圖所示:
數據庫
Spring 是一個主流的 Java Web 開發框架,該框架是一個輕量級的應用框架,具備很高的凝聚力和吸引力。Spring使每一個人均可以更快,更輕鬆,更安全地進行Java編程。Spring對速度,簡單性和生產率的關注使其成爲世界上最受歡迎的 Java框架。express
Spring 是分層的 Java SE/EE full-stack 輕量級開源框架,以 IoC(Inverse of Control,控制反轉)和 AOP(Aspect Oriented Programming,面向切面編程)爲內核,使用基本的 JavaBean 完成之前只可能由 EJB 完成的工做,取代了 EJB 臃腫和低效的開發模式。apache
在實際開發中,一般服務器端採用三層體系架構,分別爲表現層(web)、業務邏輯層(service)、持久層(dao)。Spring 對每一層都提供了技術支持,在表現層提供了與 Struts2 框架的整合,在業務邏輯層能夠管理事務和記錄日誌等,在持久層能夠整合 Hibernate 和 JdbcTemplate 等技術。編程
Spring 框架的主要優勢具體以下所示:緩存
Spring 無處不在
Spring靈活的庫受到全世界開發人員的信任。Spring天天爲數百萬終端用戶提供愉快的體驗——不管是流媒體電視、聯網汽車、在線購物,仍是其餘無數的創新解決方案。Spring也有來自全部科技領域的巨頭的貢獻,包括阿里巴巴、亞馬遜(Amazon)、谷歌、微軟(Microsoft)等等。安全
Spring 是易擴展的,方便集成各類優秀框架
Spring靈活而全面的擴展集和第三方庫讓開發人員能夠構建幾乎任何能夠想象獲得的應用程序。在其核心,Spring框架的控制反轉(IoC)和依賴項注入(DI)特性爲普遍的特性和功能集提供了基礎。不管您是爲web構建安全的、反應性的、基於雲的微服務,仍是爲企業構建複雜的流數據流,Spring都有工具能夠提供幫助。服務器
方便解耦,易於開發(簡化開發)
Spring 就是一個大工廠,能夠將全部對象的建立和依賴關係的維護交給 Spring 管理。微信
Spring 速度快
Spring 的工程師很是關心性能。在 Spring 中,默認狀況下,您會注意到快速啓動、快速關閉和優化執行。Spring 項目也愈來愈多地支持反應式(非阻塞)編程模型,以得到更高的效率。開發人員的生產力是 Spring 的超能力。與其餘競爭範例相比,Spring Boot 幫助開發人員輕鬆構建應用程序,並且工做量要少得多。嵌入式 web 服務器、自動配置和「胖罐」幫助您快速入門,而 Spring DevTools 中的 LiveReload 等創新意味着開發人員能夠比之前更快地迭代。您甚至能夠在幾秒鐘內啓動一個新的 Spring 項目,Spring Initializr 位於 start. Spring .io。
Spring 是安全的
Spring在快速和負責地處理安全問題方面有可靠的記錄。Spring提交者與安全專業人員一塊兒工做,修補和測試任何報告的漏洞。第三方依賴關係也被密切監視,並按期發佈更新,以幫助儘量地保證數據和應用程序的安全性。此外,Spring Security使您更容易與行業標準的安全方案集成,並交付默認安全的可靠解決方案。
Spring 社區很龐大,備受支持
Spring 社區是一個龐大的、全球性的、多樣化的社區,跨越了全部年齡和能力的人,從徹底的初學者到經驗豐富的專業人士。不管你在旅途的哪一個地方,你均可以找到你須要的支持和資源來幫助你進入下一個階段:快速入門、指南和教程、視頻、聚會、支持,甚至是正式的培訓和認證。
Spring 框架的其餘優勢具體以下所示:
Spring 能夠應用於微服務(Microservices)、響應式編程(Reactive)、雲(Cloud)、網絡應用(Web app)、無服務器(Serverless)、事件驅動(Event Driven)、批處理(Batch)等任何 Java 應用的開發中。
Spring 框架採用分層架構,根據不一樣的功能被劃分紅了多個模塊,這些模塊大致可分爲 Data Access/Integration 層
、Web 層
、AOP 層
、Aspects 層
、Instrumentation 層
、Messaging 層
、Core Container 層
、 Test 層
,這些模塊能夠知足一切企業級應用開發的需求,在開發過程當中能夠根據需求有選擇性地使用所須要的模塊。
Spring 體系結構圖以下所示。
數據訪問/集成層包括 JDBC、ORM、OXM、JMS 和 Transactions 模塊,具體介紹以下所示:
Spring 的 Web 層包括 Web、Servlet、Struts 和 Portlet 模塊,具體介紹以下所示:
Spring 的核心容器是其餘模塊創建的基礎,由 Beans 模塊、Core 核心模塊、Context 上下文模塊和 Expression Language 表達式語言模塊組成,具體介紹以下所示:
Spring的其餘模塊還有 AOP、Aspects、Instrumentation 以及 Test 模塊,具體介紹以下所示:
目前 Spring 框架的最新版本是5.2.6
,能夠去官網下載 。
官網下載地址:
https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring/5.2.6.RELEASE/spring-5.2.6.RELEASE-dist.zip
以下圖所示,點擊Download
下載名稱爲 spring-5.2.6.RELEASE-dist.zip
的壓縮包。
下載完成後,解壓文件 spring-5.2.6.RELEASE-dist.zip
能夠獲得spring-framework-5.2.6.RELEASE
文件夾,以下圖所示。
打開spring-framework-5.2.6.RELEASE
文件夾,能夠看到以下圖所示內容。
對上圖中的目錄說明,
docs
目錄:Spring 的 API 文檔和開發規範。libs
目錄:開發須要的 JAR 包和源碼包。schema
目錄:開發所須要的 schema 文件,在這些文件中定義了 Spring 相關配置文件的約束。在 libs
目錄中,包含了 Spring 框架提供的全部 JAR 文件,其中有四個 JAR 文件是 Spring 框架的基礎包,分別對應 Spring 容器的四個模塊,具體以下所示:
spring-beans-5.2.6.RELEASE.jar
:全部應用都要用到的,它包含訪問配置文件、建立和管理 bean 以及進行 Inversion of Control(IoC)或者 Dependency Injection(DI)操做相關的全部類。spring-context-5.2.6.RELEASE.jar
:Spring 提供在基礎 IoC 功能上的擴展服務,此外還提供許多企業級服務的支持,如郵件服務、任務調度、JNDI 定位、EJB 集成、遠程訪問、緩存以及各類視圖層框架的封裝等spring-core-5.2.6.RELEASE.jar
:包含 Spring 框架基本的核心工具類,Spring 其餘組件都要用到這個包中的類,是其餘組件的基本核心。spring-expression-5.2.6.RELEASE.jar
:定義了 Spring 的表達式語言。在使用 Spring 框架開發時,除了 Spring 自帶的 JAR 包之外,還須要一個第三方 JAR 包 commons-logging-1.2.jar
處理日誌信息。
也就是說在使用 Spring 框架時,咱們至少要將 Spring 框架的四個基礎 JAR 包以及commons-logging-1.2.jar
包複製到項目的 libs
目錄,併發布到類路徑中便可。以下圖所示: