目錄
Spring Boot 的誕生
使用Spring Boot 的優勢
Spring Boot 讓開發變得更簡單
Spring Boot 讓測試變得更簡單
Spring Boot 讓配置變得更簡單
Spring Boot 讓部署變得更簡單
Spring Boot 讓監控變得更簡單
首頁 Java java教程 Java中Spring Boot有什麼優點?

Java中Spring Boot有什麼優點?

Sep 12, 2018 pm 02:32 PM
spring boot

這篇文章帶給大家的內容是關於 Java中Spring Boot有什麼優勢?有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始建造以及開發過程。該框架使用了特定的方式來進行配置,使開發人員不再需要定義樣板化的配置。 Spring Boot 簡化了基於 Spring 的應用開發,透過少量的程式碼就能創造一個獨立的、產品層級的 Spring 應用。

身為 Java 程式設計師如果你已經厭惡了傳統的開發模式,希望有一個全新的框架可以提供快速開發,簡單整合的程式設計體驗,強烈建議你學習了解 Spring Boot 。 Spring Cloud 未來隨著 Kubernetes 和 Service Mesh 的發展可能會有所弱化,但是 Spring Boot 為開發帶來的影響是深遠的。

Spring Boot 的誕生

隨著Spring 整合的軟體越來越多,Spring 也慢慢從一個單一簡潔的小框架變成一個大而全的開源軟體,Spring 的邊界不斷的進行擴充,到了後來Spring 幾乎可以做任何事情了,市面上主流的開源軟體、中間件都有Spring 對應組件支持,人們在享用Spring 的這種便利之後,也遇到了一些問題。

Spring 每整合一個開源軟體,就需要增加一些基礎配置,慢慢的隨著人們開發的專案越來越龐大,往往需要整合很多開源軟體,因此後期使用Spring 開發大型專案需要引入很多配置文件,太多的配置非常難以理解,並且容易配置出錯,到了後來人們甚至稱Spring 為配置地獄。

Spring 似乎也意識到了這些問題,急需有這麼一套軟體可以解決這些問題,這個時候微服務的概念也慢慢興起,快速開發微小獨立的應用變得更為急迫,Spring 剛好處在這麼一個交叉點上,於2013 年初開始的Spring Boot 計畫的研發,2014年4月,Spring Boot 1.0.0 發布。

Java中Spring Boot有什麼優點?

上圖為2014年到2018年 Spring Boot 的百度指數,可以看出 Spring Boot 2.0 的推出引發了搜尋高峰。

Spring Boot 不是為了取代 Spring ,Spring Boot 是基於 Spring 開發,是為了讓人們更容易的使用 Spring。看到Spring Boot 的市場反應,Spring 官方也非常重視Spring Boot 的後續發展,已經將Spring Boot 作為公司最頂級的項目來推廣,放到了官網上第一的位置,因此後續Spring Boot 的持續發展也被看好。

使用Spring Boot 的優勢

Spring Boot 讓開發變得更簡單

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

在沒有使用Spring Boot 之前我們開發一個web 專案需要做哪些工作:

  • 1)配置web.xml,載入Spring 和Spring mvc

  • #2)設定資料庫連線、設定Spring 交易

  • #3)設定載入設定檔的讀取,開啟註解

  • #4)設定日誌檔

  • n) 設定完成之後部署tomcat 偵錯

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

那麼使用 Spring Boot 之後我們需要開發一個 web 專案需要哪些操作呢?

  • 1)登入網址http://start.spring.io/ 選擇對應的元件直接下載

  • 2)導入項目,直接發展

上面的N 步驟和下面的2步驟形成巨大的反差,這只是在開發環境搭建的這個面向。

Spring Boot 讓測試變得更簡單

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

  • JUnit: 一個Java 語言的單元測試框架

  • Spring Test & Spring Boot Test:為Spring Boot 應用提供整合測試和工具支援

  • #AssertJ:支援串流斷言的Java 測試框架

  • Hamcrest:一個符合器函式庫

  • ##Mockito:一個java mock 框架

  • JSONassert:一個針對JSON 的斷言函式庫

  • JsonPath:JSON XPath 函式庫

我們只需要在專案中引入

spring-boot-start-test依賴套件,就可以對資料庫、Mock、 Web 等各種情況進行測試。

Spring Boot 讓配置變得更簡單

Spring Boot 讓配置變得簡單,說到這裡我們就需要了解一下 Spring Boot 的核心思想:約定優於配置。那什麼是約定優於配置呢?約定優於配置(convention over configuration),也稱為按約定編程,是一種軟體設計範式,旨在減少軟體開發人員需做決定的數量,獲得簡單的好處,而又不失靈活性。

本質是說,開發人員只需規定應用中不符約定的部分。例如,如果模型中有一個名為 User 的類,那麼資料庫中對應的表就會預設為 user。只有在偏離此約定時,例如將該表命名為”user_info”,才需寫有關這個名字的配置。

Spring Boot 體系將約定優於配置的想法展現得淋淋盡致,小到配置文件,中間件的預設配置,大到內建容器、生態中的各種 Starters 無不遵循此設計規則。 Spring Boot 鼓勵各軟體組織方創建自己的 Starters ,創建 Starter 的核心元件之一就是 autoconfigure 模組,也是 Starter 的核心功能就是在啟動的時候進行自動裝配,屬性預設化配置。

Spring Boot 讓部署變得更簡單

說起 Spring Boot 讓部署變得簡單,就不得不說 Spring Boot 內嵌容器。內嵌容器不只讓部署變得簡單,其實在開發調試階段也會帶來非常大的便利性,對比以往開發Web 專案時配置Tomcat 的繁瑣,會讓大家使用Spring Boot 內嵌容器開發時有更深的感觸。使用 Spring Boot 開發 Web 項目,讓我們不需要關心容器的環境問題,專心寫業務程式碼即可。

但內嵌容器對部署帶來的改變其實更多,現在Maven 、Gradle 已經成了我們日常開發必不可少的建置工具,使用這些工具很容易的將專案打包成Jar 或War包,在伺服器上我們僅僅只需要一條命令就可以啟動專案。 Spring Boot 支援在啟動的時候加入客製化,例如設定應用程式的堆記憶體、垃圾回收機制、日誌路徑等等。

虛擬化技術的發展為我們帶來了更多的可能性,我們可以利用容器化技術,將Spring Boot 專案做成鏡像,根據容器叢集的策略來實現彈性擴容、動態部署等。所以 Spring Boot Docker Jenkins 會將 Spring Boot 專案的部署做得更簡單、更聰明。

Spring Boot 讓監控變得更簡單

可以說Spring Boot 就是一款自帶監控的開源軟體,在設計之初就考慮到應用的監控問題,專門提供了一款監控組件來完成這個工作,這個元件就是 
Spring Boot Actuator 。 Spring Boot Actuator 是 Spring Boot 提供的對應用系統監控的整合功能,可查看應用程式配置的詳細信息,例如自動化設定資訊、建立的 Spring beans 以及一些環境屬性等。

當然Spring Boot Actuator 雖然可以監控一個Spring Boot 應用的健康情況,實際上現在的系統都是需要很多的服務相互配合來完成工作,如何透過一個監控軟體來監控所以的Spring Boot 項目將變得比較緊迫。在開源界也有人意識到了這個問題,並且基於 Spring boot actuator 做出了一款強大的監控軟體,這個軟體就是 Spring Boot admin 。

使用Spring Boot Admin 不僅可以監控Spring Boot 項目,還可以監控Spring Cloud 項目,因此使用了Spring Boot 項目之後我們監控Spring Boot 集群效果如下:

Java中Spring Boot有什麼優點?

#簡單、直覺、易用是它的特點,針對一些特殊情況還可以提供警報服務。所以說使用 Spring Boot Actuator 解決了單一 Spring Boot 的監控問題,使用 Spring Boot Admin 就是解決了整個叢集監控的問題。

相關推薦:

詳解java中Spring Boot

java之spring boot 1.5.4 日誌管理

以上是Java中Spring Boot有什麼優點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL(附源碼) Spring Boot+MyBatis+Atomikos+MySQL(附源碼) Aug 15, 2023 pm 04:12 PM

我們在實際專案中,盡量規避分散式事務。但是,有些時候是真的需要做一些服務拆分從而會引出分散式事務問題。同時,分散式事務也是面試中市場被問到,可以拿著這個案例練練手,面試就可以說上個123了。

透過Spring Boot實現多語言支援和國際化應用 透過Spring Boot實現多語言支援和國際化應用 Jun 23, 2023 am 09:09 AM

隨著全球化的發展,越來越多的網站和應用需要提供多語言支援和國際化功能。對於開發人員而言,實現這些功能並不是一件容易的事情,因為它需要考慮許多方面的問題,例如語言的翻譯、日期、時間和貨幣格式等等。但是,使用SpringBoot框架,我們可以輕鬆實現多語言支援和國際化應用。首先,讓我們來了解一下SpringBoot提供的LocaleResolver介面。 Loc

如何使用Spring Boot建立大數據處理應用 如何使用Spring Boot建立大數據處理應用 Jun 23, 2023 am 09:07 AM

隨著大數據時代的到來,越來越多的企業開始了解並認識到大數據的價值,並將其運用到商業中。而隨之而來的問題就是如何處理這些大流量的數據。在這種情況下,大數據處理應用程式成為了每個企業必須考慮的事情。而對於開發人員而言,如何使用SpringBoot建立一個高效的大數據處理應用程式也是一個非常重要的問題。 SpringBoot是一個非常流行的Java框架,它可以讓

如何利用Spring Boot建立區塊鏈應用和智慧合約 如何利用Spring Boot建立區塊鏈應用和智慧合約 Jun 22, 2023 am 09:33 AM

隨著比特幣等數位貨幣的興起,區塊鏈技術也逐漸成為熱門話題。而智能合約,則可視為區塊鏈技術的重要組成部分。 SpringBoot作為一種流行的Java後端開發框架,也能夠用來建立區塊鏈應用和智慧合約。本文將介紹如何利用SpringBoot來建構基於區塊鏈技術的應用與智慧合約。一、SpringBoot與區塊鏈首先,我們需要了解一些與區塊鏈相關的基本概念。區塊鏈

基於Spring Boot和MyBatis Plus實作ORM映射 基於Spring Boot和MyBatis Plus實作ORM映射 Jun 22, 2023 pm 09:27 PM

在Javaweb應用程式開發過程中,ORM(Object-RelationalMapping)映射技術用來將資料庫中的關係型資料對應到Java物件中,方便開發者進行資料存取與操作。 SpringBoot作為目前最受歡迎的Javaweb開發框架之一,已經提供了整合MyBatis的方式,而MyBatisPlus則是在MyBatis的基礎上擴展的一種ORM框架。

Spring Boot與NoSQL資料庫的整合使用 Spring Boot與NoSQL資料庫的整合使用 Jun 22, 2023 pm 10:34 PM

隨著網路的發展,大數據分析和即時資訊處理成為了企業的重要需求。為了滿足這樣的需求,傳統的關係型資料庫已經不再滿足業務和技術發展的需要。相反,使用NoSQL資料庫已經成為了一個重要的選擇。在這篇文章中,我們將討論SpringBoot與NoSQL資料庫的整合使用,以實現現代應用程式的開發和部署。什麼是NoSQL資料庫?NoSQL是notonlySQL

基於Spring Boot的分散式資料快取和儲存系統 基於Spring Boot的分散式資料快取和儲存系統 Jun 22, 2023 am 09:48 AM

隨著網路的不斷發展和普及,資料的處理和儲存需求也越來越大,如何有效率且可靠地處理和儲存資料成為了業界和研究人員的熱門話題。基於SpringBoot的分散式資料快取和儲存系統是近年來備受關注的解決方案。什麼是分散式資料快取和儲存系統?分散式資料快取和儲存系統是指透過多個節點(伺服器)分散式儲存數據,提高了資料的安全性和可靠性,同時也可以提升資料的處理性

使用Spring Boot和Apache ServiceMix建置ESB系統 使用Spring Boot和Apache ServiceMix建置ESB系統 Jun 22, 2023 pm 12:30 PM

隨著現代企業越來越依賴各種不同的應用程式和系統,企業整合變得愈發重要。企業服務匯流排(ESB)就是一種整合架構模式,透過將不同系統和應用程式連接在一起,提供通用的資料交換和訊息路由服務,從而實現企業級應用程式整合。使用SpringBoot和ApacheServiceMix,我們可以輕鬆建立一個ESB系統,這篇文章將介紹如何實作。 SpringBoot和A

See all articles