Spring Boot 特性html
Spring Boot 對開發效率的提高是全方位的,咱們能夠簡單作一下對比:前端
在沒有使用 Spring Boot 以前咱們開發一個 web 項目須要作哪些工做:java
可能你還須要考慮各個版本的兼容性,jar 包衝突的各類可行性。web
那麼使用 Spring Boot 以後咱們須要開發一個 web 項目須要哪些操做呢?spring
上面的 N 步和下面的2步造成巨大的反差,這僅僅只是在開發環境搭建的這個方面。數據庫
Spring Boot 對測試的支持不可謂不強大,Spring Boot 內置了7種強大的測試框架:編程
咱們只須要在項目中引入spring-boot-starter-test
依賴包,就能夠對數據庫、Mock、 Web 等各類狀況進行測試。緩存
Spring Boot 的核心思想:約定優於配置,也稱做按約定編程,是一種軟件設計範式,旨在減小軟件開發人員需作決定的數量,得到簡單的好處,而又不失靈活性。tomcat
本質是說,開發人員僅需規定應用中不符約定的部分。例如,若是模型中有個名爲 User 的類,那麼數據庫中對應的表就會默認命名爲 user。只有在偏離這一約定時,例如將該表命名爲」user_info」,才需寫有關這個名字的配置。安全
使用 Spring Boot 開發 Web 項目,讓咱們不須要關心容器的環境問題,專心寫業務代碼便可。
Jenkins 是目前持續構建領域使用最普遍的工具之一,Jenkins 是一個獨立的開源自動化服務器,可用於自動化各類任務,如構建,測試和部署軟件。Jenkins 能夠經過本機系統包 Docker 安裝,甚至能夠經過安裝 Java Runtime Environment 的任何機器獨立運行。
說直白一點 Jenkins 就是專門來負責如何將代碼變成可執行的程序包,將它部署到目標服務器中,並對其運營狀態(日誌)進行監控的軟件。自動化、性能、打包、部署、發佈、發佈結果自動化驗證、接口測試、單元測試等等關於咱們打包測試部署的方方面面 Jenkins 均可以很友好的支持。
使用 Jenkins 部署 Spring Boot 項目很是簡單,你們想繼續瞭解能夠參考個人文章:使用Jenkins部署Spring Boot,只須要前期作一些簡單的配置,當咱們須要發佈項目時只須要點擊項目對應的發佈按鈕,就能夠將項目從版本庫中拉取、打包、發佈到目標服務器中,大大簡化了運維後期的部署工做。
虛擬化技術的發展給咱們帶來了更多的可能性,咱們能夠利用容器化技術,將 Spring Boot 項目作成鏡像,根據容器集羣的策略來實現彈性擴容、動態部署等。因此 Spring Boot + Docker + Jenkins 會將 Spring Boot 項目的部署作得更簡單化、智能化。
Spring Boot Actuator 是 Spring Boot 提供的對應用系統監控的集成功能,能夠查看應用配置的詳細信息,例如自動化配置信息、建立的 Spring beans 以及一些環境屬性等。
Spring Boot Admin (基於 Spring boot actuator)是一個管理和監控 Spring Boot 應用程序的開源軟件。每一個應用都認爲是一個客戶端,經過 HTTP 或者使用 Eureka 註冊到 admin server 中進行展現,Spring Boot Admin UI 部分使用 AngularJs 將數據展現在前端。
Spring Boot Admin 是一個針對 spring-boot 的 actuator 接口進行UI美化封裝的監控工具。他能夠:在列表中瀏覽全部被監控 spring-boot 項目的基本信息,詳細的 Health 信息、內存信息、JVM 信息、垃圾回收信息、各類配置信息(好比數據源、緩存列表和命中率)等,還能夠直接修改logger的level。
使用 Spring Boot Admin 不只能夠監控 Spring Boot 項目,還能夠監控 Spring Cloud 項目,所以使用了 Spring Boot 項目以後咱們監控 Spring Boot 集羣效果以下:
簡單、直觀、易用是它的特色,針對一些特殊狀況還能夠提供報警服務。因此說使用 Spring Boot Actuator 解決了單個 Spring Boot 的監控問題,使用 Spring Boot Admin 就是解決了整個集羣監控的問題。
Spring 最初最核心的兩大核心功能 Spring Ioc 和 Spring Aop 成就了 Spring,Spring 在這兩大核心的功能上不斷的發展,纔有了 Spring 事務、Spring Mvc 等一系列偉大的產品,最終成就了 Spring 帝國,到了後期 Spring 幾乎能夠解決企業開發中的全部問題。
Spring Boot 是在強大的 Spring 帝國生態基礎上面發展而來,發明 Spring Boot 不是爲了取代 Spring ,是爲了讓人們更容易的使用 Spring 。因此說沒有 Spring 強大的功能和生態,就不會有後期的 Spring Boot 火熱, Spring Boot 使用約定優於配置的理念,從新重構了 Spring 的使用,讓 Spring 後續的發展更有生命力。
Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,均可以用 Spring Boot 的開發風格作到一鍵啓動和部署。
Spring ioc/aop > Spring > Spring Boot > Spring Cloud
做者:純潔的微笑
出處:www.ityouknow.com
版權全部,歡迎保留原文連接進行轉載:)