使用SpringBoot的優勢。

2022-08-25 17:27:21 字數 1631 閱讀 7442

spring boot 對開發效率的提公升是全方位的,我們可以簡單做一下對比:

在沒有使用 spring boot 之前我們開發乙個 web 專案需要做哪些工作:

可能你還需要考慮各個版本的相容性,jar 包衝突的各種可行性。

spring boot 對測試的支援不可謂不強大,spring boot 內建了7種強大的測試框架:

我們只需要在專案中引入spring-boot-start-test依賴包,就可以對資料庫、mock、 web 等各種情況進行測試。

spring boot test 中包含了我們需要使用的各種測試場景,滿足我們日常專案的測試需求。

spring boot 讓配置變簡單,說到這裡我們就需要了解一下 spring boot 的核心思想:約定優於配置。那麼什麼是約定優於配置呢?

約定優於配置(convention over configuration),也稱作按約定程式設計,是一種軟體設計正規化,旨在減少軟體開發人員需做決定的數量,獲得簡單的好處,而又不失靈活性。

spring 最初最核心的兩大核心功能 spring ioc 和 spring aop 成就了 spring,spring 在這兩大核心的功能上不斷的發展,才有了 spring 事務、spirng mvc 等一系列偉大的產品,最終成就了 spring 帝國,到了後期 spring 幾乎可以解決企業開發中的所有問題。

spring boot 是在強大的 spring 帝國生態基礎上面發展而來,發明 spring boot 不是為了取代 spring ,是為了讓人們更容易的使用 spring 。所以說沒有 spring 強大的功能和生態,就不會有後期的 spring boot 火熱, spring boot 使用約定優於配置的理念,重新重構了 spring 的使用,讓 spring 後續的發展更有生命力。

spring cloud 是一系列框架的有序集合。它利用 spring boot 的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊、配置中心、訊息匯流排、負載均衡、斷路器、資料監控等,都可以用 spring boot 的開發風格做到一鍵啟動和部署。

spring 並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過 spring boot 風格進行再封裝遮蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。

根據上面的說明我們可以看出來,spring cloud 是為了解決微服務架構中服務治理而提供的一系列功能的開發框架,並且 spring cloud 是完全基於 spring boot 而開發,spring cloud 利用 spring boot 特性整合了開源行業中優秀的元件,整體對外提供了一套在微服務架構中服務治理的解決方案。

綜上我們可以這樣來理解,正是由於 spring ioc 和 spring aop 兩個強大的功能才有了 spring ,spring 生態不斷的發展才有了 spring boot ,使用 spring boot 讓 spring 更易用更有生命力,spring cloud 是基於 spring boot 開發的一套微服務架構下的服務治理方案。

用一組不太合理的包含關係來表達它們之間的關係。

spring ioc/aop > spring > spring boot > spring cloud

使用springboot的優勢

官方文件 org.springframework.boot spring boot starter parent 2.0.6.release 新增依賴 org.springframework.boot spring boot starter web springboot的四種屬性注入 1.autow...

Spring Boot 事務的使用

spring boot 使用事務非常簡單,首先使用註解 enabletransactionmanagement 開啟事務支援後,然後在訪問資料庫的service方法上新增註解 transactional 便可。關於事務管理器,不管是jpa還是jdbc等都實現自介面 platformtransacti...

Spring Boot 事務的使用

spring boot 使用事務非常簡單,首先使用註解 enabletransactionmanagement 開啟事務支援後,然後在訪問資料庫的service方法上新增註解 transactional 便可。關於事務管理器,不管是jpa還是jdbc等都實現自介面 platformtransacti...