成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringBoot的設(shè)計理念和目標、整體架構(gòu)你有深入了解嗎

開發(fā) 后端 架構(gòu)
本文使用 Itellj IDEA (簡稱 IDEA) 作為閱讀代碼工具,采用純源代碼閱讀、實例+debug 兩種模式配合進行學習。

源代碼閱讀工具

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

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

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

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

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

 

 

 

 

Spring Boot 的設(shè)計理念和目標

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

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

[[345193]]

 

設(shè)計理念

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

Spring Boot 的功能從細節(jié)到整體都是基于“約定優(yōu)于配置開發(fā)的,從基礎(chǔ)框架的搭建、配置文件、中間件的集成、內(nèi)置容器以及其生態(tài)中各種 Starters,無不遵從此設(shè)計范式。Starter

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

設(shè)計目標

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

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

Spring Boot 的整體架構(gòu)

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

 

 

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

Spring Boot Parent 是 Spring Boot 及圖中依賴 Spring Boot 項目的 Parent 項目,同樣為了結(jié)構(gòu)清晰,圖中不顯示相關(guān)關(guān)聯(lián)。

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

責任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2021-08-19 08:59:51

B端C端設(shè)計

2022-02-28 10:30:03

架構(gòu)代碼Native

2015-11-06 09:39:52

2015-11-06 10:52:51

2024-08-21 08:00:00

2010-01-06 17:18:54

Linux常用軟件

2023-10-31 09:13:16

CPUIntel前端

2010-06-23 20:31:54

2010-07-13 09:36:25

2010-11-19 16:22:14

Oracle事務

2020-09-21 09:53:04

FlexCSS開發(fā)

2009-08-25 16:27:10

Mscomm控件

2022-08-26 13:48:40

EPUBLinux

2020-07-20 06:35:55

BashLinux

2023-10-06 00:04:02

2015-08-25 09:43:50

交互設(shè)計五大支柱

2019-08-02 08:59:21

Token認證服務器

2019-11-29 16:21:22

Spring框架集成

2017-01-20 08:30:19

JavaScriptfor循環(huán)

2018-02-24 13:21:02

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲国产成人av好男人在线观看 | 日韩高清一区二区 | 免费精品视频在线观看 | 精品乱子伦一区二区三区 | 一区欧美 | 国产精品日韩一区二区 | 欧美日韩一区二区在线 | 亚洲欧洲成人av每日更新 | 中文在线一区二区 | 日韩在线观看视频一区 | 九九热热九九 | 亚洲精品国产区 | 免费观看的黄色网址 | 久久久久久国产精品免费免费狐狸 | 成人精品一区亚洲午夜久久久 | 久草青青 | 国际精品鲁一鲁一区二区小说 | 在线免费av电影 | 国产激情一区二区三区 | 精品国产一区二区三区性色av | 日韩av黄色 | 国产精品久久久久一区二区三区 | 亚洲 欧美 激情 另类 校园 | 综合色导航| 日韩a在线观看 | 欧美日韩在线精品 | 国产一区欧美一区 | 国产精品大全 | 日韩一区二区av | 日韩在线高清 | 亚洲一区高清 | 国产精品视频在线观看 | 黄色毛片免费看 | 亚洲精品久久久久久久久久久久久 | 国精品一区二区 | 黄色免费在线观看网站 | 亚洲视频免费在线观看 | 久久久久久网站 | 欧美a在线观看 | 91视频免费视频 | 国产精品久久久久久影视 |