spring?boot入門之誕生背景及優(yōu)勢影響
spring boot誕生的背景
在spring boot出現以前,使用spring框架的程序員是這樣配置web應用環(huán)境的,需要大量的xml配置。下圖展示了在xml配置的時代和SpringBoot的配置量的差別。
- 隨著web項目集成軟件的不斷增多,xml配置也不斷的增多,xml配置文件也在不斷地增多,項目的依賴管理也越發(fā)的復雜。spring框架也因此飽受爭議,配置文件難以理解且容易出錯。
- xml配置文件不但復雜,而且絕大部分屬于模板配置,也就是說有80%以上的配置是不斷重復的。在這個web項目里面這樣配置,挪到另一個項目里面這部分配置仍然相同。
因此,像JFinal這種輕量級的web開發(fā)框架,因為其簡單易用的特性,而逐漸的有了很大發(fā)展的空間。Spring社區(qū)也逐漸意識到了這個問題,在 2013 年的 SpringOne 2GX 會議上,Pivotal 的 CTO Adrian Colyer 回應了關于spring框架使用復雜度的問題,并且特別提到該平臺將來的目標之一就是實現免 XML 配置和提供更佳開發(fā)體驗。也就是我們今天使用到的spring boot的誕生的主要原因。
Spring 開源社區(qū)背后有強大的商業(yè)公司支持,目前已知的支持力度比較大的公司就是Pivotal 、netflix以及中國的阿里巴巴。
spring boot 改變了什么
舉一個例子:自己接電線與標準化插座
Spring Boot的配置方式,就像是插頭插座,就是這個標準。你第三方開源類庫想接入進來,你就按照這個標準做一個starter的適配。spring MVC方式就像是手動接電線,很靈活,但是不同的人接出來的效果千差萬別,而且很容易出錯。Spring boot雖然靈活性不如Spring MVC的方式,并且你也不太清楚插座里面的線路是什么樣,但就是方便易用。話說回來,當你習慣使用插頭插座,你還期望自己是個電工不成?
Spring Boot 的目標不在于為已解決的問題領域提供新的解決方案,而是為平臺帶來另一種新的開發(fā)體驗,從而簡化對這些已有技術的使用。
- 使配置變簡單
- 使監(jiān)控變簡單
- 使部署變簡單
- 使開發(fā)變簡單
具體這些改變如何得以體現,請學習后面的章節(jié)!
Spring Boot主要特性
- 遵循“約定優(yōu)于配置”的原則,簡化配置
- 可以完全脫離XML配置文件,采用注解配置和java Config
- 內嵌Servlet容器,應用可用jar包執(zhí)行:java -jar
- 快速完成項目搭建、整合第三方類庫,方便易用
- 提供了starter POM, 能夠非常方便的進行包管理, 簡化包管理配置
- 與Spring cloud天然集成,spring boot是目前java體系內實現微服務最佳方案
Spring Boot集成第三方類庫的步驟
- 通過maven引入springboot-XXXX-starter
- 修改ymal或properties全局統一配置文件
- 加入一個Java Config。這個屬于個性化配置,如果使用通用配置,這一步不需要。
官方默認集成類庫請參考:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters
以上就是spring boot誕生背景及優(yōu)勢影響的詳細內容,更多關于spring boot誕生影響的資料請關注腳本之家其它相關文章!
相關文章
淺析Java迭代器Iterator和Iterable的區(qū)別
Java語言中,Iterator和Iterable都是用來遍歷集合類數據結構的接口,雖然它們有很多相似的地方,但在具體實現中卻有著一些不同之處,本文將詳細分析它們的區(qū)別,并提供相應的代碼示例,需要的朋友可以參考下2023-07-07java?fastjson傳輸long數據卻接收到了int的問題
這篇文章主要介紹了java?fastjson傳輸long數據卻接收到了int的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01解決Springboot項目啟動后自動創(chuàng)建多表關聯的數據庫與表的方案
這篇文章主要介紹了解決Springboot項目啟動后自動創(chuàng)建多表關聯的數據庫與表的方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03