中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot的設計理念和目標以及整體架構是怎樣的

發布時間:2021-09-29 17:00:39 來源:億速云 閱讀:195 作者:柒染 欄目:編程語言

SpringBoot的設計理念和目標以及整體架構是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

源代碼閱讀工具

讀者可根據日常習慣,選擇熟悉的代碼閱讀 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 的腳手架框架,以達到快速構建項目、預置三方配置、開箱即用的目的。

設計理念

約定優于配置(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 兩個核心的模塊,而其他相關功能又都是基于這兩個核心模塊展開的。本文相關的源代碼分析也是圍繞兩個核心模塊展開。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昔阳县| 菏泽市| 金堂县| 东乡县| 龙海市| 安塞县| 北安市| 昌都县| 墨玉县| 江油市| 抚顺市| 灵石县| 安龙县| 万盛区| 南华县| 桦川县| 长丰县| 新干县| 安乡县| 海晏县| 宜君县| 青海省| 灌南县| 开阳县| 进贤县| 缙云县| 梁平县| 蒲江县| 黄山市| 和平区| 平果县| 奉节县| 横峰县| 梨树县| 阳城县| 平凉市| 台前县| 永福县| 依安县| 永泰县| 郓城县|