spring boot教程之產(chǎn)生的背景及其優(yōu)勢
一、前置說明
本節(jié)大綱
- spring boot 誕生的背景
- Spring boot 改變了什么
- Spring Boot主要特性
- Spring Boot集成第三方開源組件的步驟
二、spring boot誕生的背景
在spring boot出現(xiàn)以前,使用spring框架的程序員是這樣配置web應(yīng)用環(huán)境的,需要大量的xml配置。下圖展示了在xml配置的時(shí)代和SpringBoot的配置量的差別。
- 隨著web項(xiàng)目集成軟件的不斷增多,xml配置也不斷的增多,xml配置文件也在不斷地增多,項(xiàng)目的依賴管理也越發(fā)的復(fù)雜。spring框架也因此飽受爭議,配置文件難以理解且容易出錯(cuò)。
- xml配置文件不但復(fù)雜,而且絕大部分屬于模板配置,也就是說有80%以上的配置是不斷重復(fù)的。在這個(gè)web項(xiàng)目里面這樣配置,挪到另一個(gè)項(xiàng)目里面這部分配置仍然相同。
因此,像JFinal這種輕量級的web開發(fā)框架,因?yàn)槠浜唵我子玫奶匦?,而逐漸的有了很大發(fā)展的空間。Spring社區(qū)也逐漸意識到了這個(gè)問題,在 2013 年的 SpringOne 2GX 會議上,Pivotal 的 CTO Adrian Colyer 回應(yīng)了關(guān)于spring框架使用復(fù)雜度的問題,并且特別提到該平臺將來的目標(biāo)之一就是實(shí)現(xiàn)免 XML 配置和提供更佳開發(fā)體驗(yàn)。也就是我們今天使用到的spring boot的誕生的主要原因。
Spring 開源社區(qū)背后有強(qiáng)大的商業(yè)公司支持,目前已知的支持力度比較大的公司就是Pivotal 、netflix以及中國的阿里巴巴。
三、spring boot 改變了什么
舉一個(gè)例子:自己接電線與標(biāo)準(zhǔn)化插座Spring Boot的配置方式,就像是插頭插座,就是這個(gè)標(biāo)準(zhǔn)。你第三方開源類庫想接入進(jìn)來,你就按照這個(gè)標(biāo)準(zhǔn)做一個(gè)starter的適配。spring MVC方式就像是手動接電線,很靈活,但是不同的人接出來的效果千差萬別,而且很容易出錯(cuò)。Spring boot雖然靈活性不如Spring MVC的方式,并且你也不太清楚插座里面的線路是什么樣,但就是方便易用。話說回來,當(dāng)你習(xí)慣使用插頭插座,你還期望自己是個(gè)電工不成?

Spring Boot 的目標(biāo)不在于為已解決的問題領(lǐng)域提供新的解決方案,而是為平臺帶來另一種新的開發(fā)體驗(yàn),從而簡化對這些已有技術(shù)的使用。
- 使配置變簡單
- 使監(jiān)控變簡單
- 使部署變簡單
- 使開發(fā)變簡單
具體這些改變?nèi)绾蔚靡泽w現(xiàn),請學(xué)習(xí)后面的章節(jié)!
四、Spring Boot主要特性
- 遵循“約定優(yōu)于配置”的原則,簡化配置
- 可以完全脫離XML配置文件,采用注解配置和java Config
- 內(nèi)嵌Servlet容器,應(yīng)用可用jar包執(zhí)行:java -jar
- 快速完成項(xiàng)目搭建、整合第三方類庫,方便易用
- 提供了starter POM, 能夠非常方便的進(jìn)行包管理, 簡化包管理配置
- 與Spring cloud天然集成,spring boot是目前java體系內(nèi)實(shí)現(xiàn)微服務(wù)最佳方案
五、Spring Boot集成第三方類庫的步驟
- 通過maven引入springboot-XXXX-starter
- 修改ymal或properties全局統(tǒng)一配置文件
- 加入一個(gè)Java Config。這個(gè)屬于個(gè)性化配置,如果使用通用配置,這一步不需要。
有哪些官方已經(jīng)默認(rèn)集成的類庫?請參考:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter
到此這篇關(guān)于spring boot教程之產(chǎn)生的背景及其優(yōu)勢的文章就介紹到這了,更多相關(guān)spring boot 產(chǎn)生的背景及其優(yōu)勢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot與mybatis整合實(shí)例詳解(完美融合)
- 在SpringBoot下讀取自定義properties配置文件的方法
- Spring Boot 日志配置方法(超詳細(xì))
- SpringBoot + Spring Security 基本使用及個(gè)性化登錄配置詳解
- 解決springboot MultipartFile文件上傳遇到的問題
- springboot @ConditionalOnMissingBean注解的作用詳解
- Springboot Thymeleaf實(shí)現(xiàn)HTML屬性設(shè)置
- Spring boot實(shí)現(xiàn)熱部署的兩種方式詳解
- springboot如何讀取配置文件(application.yml)中的屬性值
- spring?boot教程之建立第一個(gè)HelloWorld
- Spring?Boot教程之必須了解的核心概念
相關(guān)文章
第一次使用Android Studio時(shí)你應(yīng)該知道的一切配置(推薦)
這篇文章主要介紹了第一次使用Android Studio時(shí)你應(yīng)該知道的一切配置(推薦) ,需要的朋友可以參考下2017-09-09
Java?web訪問http://localhost:8080/xx/xx.jsp報(bào)404錯(cuò)誤問題的解決方法
這篇文章主要給大家介紹了關(guān)于Java?web訪問http://localhost:8080/xx/xx.jsp報(bào)404錯(cuò)誤問題的解決方法,很多小伙伴在剛開始用Springboot整合jsp開發(fā)時(shí)都會遇到這個(gè)問題, 按照別人的教程一步一步搭建,但就是會報(bào)404,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
TransmittableThreadLocal線程間傳遞邏輯示例解析
這篇文章主要介紹了TransmittableThreadLocal線程間傳遞邏輯示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
SpringCloud的網(wǎng)關(guān)Zuul和Gateway詳解
SpringCloudZuul和SpringCloudGateway都是用于構(gòu)建微服務(wù)架構(gòu)中的API網(wǎng)關(guān)的組件,但SpringCloudGateway在性能、功能特性和生態(tài)支持等方面有一些優(yōu)勢,因此推薦使用SpringCloudGateway作為首選2025-02-02
SpringBoot中Formatter和Converter用法和區(qū)別小結(jié)
本文主要介紹了SpringBoot中Formatter和Converter用法和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
SVN導(dǎo)入maven項(xiàng)目報(bào)錯(cuò)解決方案
這篇文章主要介紹了SVN導(dǎo)入maven項(xiàng)目報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
druid?handleException執(zhí)行流程源碼解析
這篇文章主要為大家介紹了druid?handleException執(zhí)行流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Java數(shù)據(jù)結(jié)構(gòu)之HashMap和HashSet
這篇文章主要介紹了HashMap和HashSet,什么是哈希表以及HashMap的部分源碼解讀,想了解更多的小伙伴,可以參考閱讀本文2023-03-03

