一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - SpringBoot的設計理念和目標、整體架構你有深入了解嗎

SpringBoot的設計理念和目標、整體架構你有深入了解嗎

2020-10-09 22:47今日頭條程序員高級碼農 JAVA教程

本文使用 Itellj IDEA (簡稱 IDEA) 作為閱讀代碼工具,采用純源代碼閱讀、實例+debug 兩種模式配合進行學習。

源代碼閱讀工具

讀者可根據日常習慣,選擇熟悉的代碼閱讀 I 具,比如 Intellij IDEA、Spring Tool Suite、Eclipse、 MyEclipse 等。

閱讀 Spring Boot 源代碼之前,我們還需搭建基礎閱讀環境。Spring Boot 對 JDK 和構建工具有一定的要求, 比如 JDK 8+、Maven 3.3+、Gradle 5.x+等環境,滿足相應需求即可。

為了達到更好的學習效果,建議大家使用實例+debug 的模式來進行學習。因此,源代碼閱讀 I 具最好支持實例的編寫、運行、調試等功能。

本文使用 Itellj IDEA (簡稱 IDEA) 作為閱讀代碼工具,采用純源代碼閱讀、實例+debug 兩種模式配合進行學習。

其中純源代碼閱讀模式可以幫助我們更好地進行代碼的注釋、編寫、單元測試等操作,而實例+debug 模式可以讓我們更好地理解整個項目的運行流程及功能的具體使用。圖 1-2 和圖1-3 展示 了通過 IDEA 閱讀代碼的兩種模式。

SpringBoot的設計理念和目標、整體架構你有深入了解嗎

SpringBoot的設計理念和目標、整體架構你有深入了解嗎

Spring Boot 的設計理念和目標

我們知道,Spring 所擁有的強大功能之一就是可以集成各種開源軟件。 但隨著互聯網的高速發展,各種框架層出不窮,這就對系統架構的靈活性、擴展性、可伸縮性、高可用性都提出了新的要求。隨著項目的發展,Spring 慢慢地集成了更多的開源軟件,引入大量配置文件,這會導致程序出錯率高、運行效率低下的問題。為了解決這些狀況,Spring Boot 應運而生。

Spring Boot 本身并不提供 Spring 的核心功能,而是作為 Spring 的腳手架框架,以達到快速構建項目、預置三方配置、開箱即用的目的。

SpringBoot的設計理念和目標、整體架構你有深入了解嗎

設計理念

約定優于配置(Convention Over Configuration),又稱為按約定編程,是一種軟件設計范式,旨在減少軟件開發人員需要做決定的數量,執行起來簡單而又不失靈活。Spring Boot 的核心設計完美遵從了此范式。

Spring Boot 的功能從細節到整體都是基于“約定優于配置開發的,從基礎框架的搭建、配置文件、中間件的集成、內置容器以及其生態中各種 Starters,無不遵從此設計范式。Starter

作為 Spring Boot 的核心功能之一,基于自動配置代碼提供了自動配置模塊及依賴,讓軟件集成變得簡單、易用。與此同時,Spring Boot 也在鼓勵各方軟件組織創建自己的 Starter。

設計目標

說到 Spring Boot 的設計目標,值得一提的是 Spring Boot 的研發團隊一 Pivotal 公司。Pivotal公司的企業目 標是致力于改變世界構造軟件的方式(Weare transforming how the worldbuilds software)”。 Pivotal 公 司向企業客戶提供云原生應用開發 PaaS 平臺及服務,采用敏捷軟件開發方法論幫助企業客戶開發軟件,從而提高軟件開發人員工作效率、減少軟件運維成本,實現企業數字化轉型、IT 創新,幫助企業客戶最終實現業務創新。

Spring Boot 框架的設計理念完美遵從了它所屬企業的目標。Spring Boot 不是為已解決的問題提供新的解決方案,而是為平臺和開發者帶來一種全新的體驗:整合成熟技術框架、屏蔽系統復雜性、簡化已有技術的使用,從而降低軟件的使用]檻,提升軟件開發和運維的效率。

Spring Boot 的整體架構

在 1.2 節中已經對 Spring Boot 的核心項目結構及功能做了相應的介紹,本節我們從架構層面 了 解 一 下 Spring Boot 的 不同模 塊之間的依 賴 關 系 如 圖 1-4 所示 。

SpringBoot的設計理念和目標、整體架構你有深入了解嗎

圖 1-4 中為了更清晰地表達 Spring Boot 各項目之間的關系,我們基于依賴的傳遞性,省略了部分依賴關系。比如,Spring Boot Starters 不僅依賴了 Spring Boot Autoconfigure 項目,還依賴了 Spring Boot 和 Spring,而 SpringBoot Autoconfigure 項目又依賴了 Spring Boot,Spring Boot 又依賴了 Spring 相關項目。因此在圖中就省略了 Spring Boot Starters 和底層依賴的關聯。

Spring Boot Parent 是 Spring Boot 及圖中依賴 Spring Boot 項目的 Parent 項目,同樣為了結構清晰,圖中不顯示相關關聯。

從圖 1-4 中我們可以清晰地看到 Spring Boot 幾乎完全基于 Spring,同時提供了 Spring Boot和 Spring Boot Autoconfigure 兩個核心的模塊,而其他相關功能又都是基于這兩個核心模塊展開的。本文相關的源代碼分析也是圍繞兩個核心模塊展開。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 97影院伦理| 亚洲熟区 | 四虎免费影院在线播放 | 千金肉奴隶在线观看 | 国内自拍网红在综合图区 | 亚洲国产精品一区二区三区久久 | 国产videos hd | 男人的天堂在线 | 国产女乱淫真高清免费视频 | 国产自一区| 波多野结衣一区免费作品 | 热久久亚洲 | 日本视频一区在线观看免费 | 黑人又大又硬又粗再深一点 | 日日操天天爽 | 免费观看欧美成人禁片 | 亚洲色图第四色 | 舔穴吸奶| 亚洲精品无码不卡在线观看 | 奇米影视4444 | 毛片群 | 亚洲国产成人久久综合区 | 网www天堂资源在线 王淑兰与铁柱全文免费阅读 | 国产精品久久久久网站 | 四虎影院久久久 | 欧美一区二区三区精品国产 | 欧美久久热 | 亚洲色导航| 国产精品极品美女自在线 | 成年性香蕉漫画在线观看 | freexxxxxhd张柏芝 | 娇妻被又大又粗又长又硬好爽 | 日本高免费观看在线播放 | 精品视频网站 | 日韩毛片免费在线观看 | 免费午夜网站 | free性欧洲 | 日本视频高清免费观看xxx | 亚洲AV无码偷拍在线观看 | 亚洲va欧美va国产综合久久 | 波多野结衣伦理在线观看 |