最全面的SpringBoot教程(一)——SpringBoot概述
目錄
SpringBoot概述
前言
目錄
一、SpringBoot簡介
1??什么是SpringBoot
2??SpringBoot的特點(diǎn)
3??SpringBoot的功能
4??SpringBoot官網(wǎng)
二、SpringBoot快速入門
1??開發(fā)環(huán)境
2??創(chuàng)建SpringBoot項(xiàng)目
3??啟動(dòng)項(xiàng)目并訪問
三、SpringBoot起步依賴原理分析
四、SpringBoot啟動(dòng)器
后記
一、SpringBoot簡介
1??什么是SpringBoot
SpringBoot提供了一種快速使用Spring的方式,基于約定優(yōu)于配置的思想,可以讓開發(fā)人員不必在配置與邏輯業(yè)務(wù)之間進(jìn)行思維的切換,全身心的投入到邏輯業(yè)務(wù)的代碼編寫中,從而大大提高了開發(fā)的效率。
SpringBoot不是新的技術(shù),而是新的框架,是基于spring來搭建起來的。
特性:約定大于配置!
2??SpringBoot的特點(diǎn)
優(yōu)點(diǎn):
開發(fā)效率快,內(nèi)置有配置好的版本依賴
基于spring
輕松上手
缺點(diǎn):
配置繁瑣。搭建ssm項(xiàng)目,需要配置大量xml: application.xml spring-mybatis.xml spring-mvc.xml,大量的bean。
依賴繁瑣。pom.xml要寫大量依賴:pom.xml spring-core spring-bean spring-mvc spring-mybatis java-connector
版本沖突。spring-core 4.0與 spring-mvc 5.0
3??SpringBoot的功能
??(1)自動(dòng)配置
Spring Boot的自動(dòng)配置是一個(gè)運(yùn)行時(shí)(更準(zhǔn)確地說,是應(yīng)用程序啟動(dòng)時(shí))的過程,考慮了眾多因素,才決定Spring配置應(yīng)該用哪個(gè),不該用哪個(gè)。該過程是SpringBoot自動(dòng)完成的。
??(2)起步依賴
起步依賴本質(zhì)上是一個(gè)Maven項(xiàng)目對(duì)象模型(Project Object Model,POM),定義了對(duì)其他庫的傳遞依賴,這些東西加在一起即支持某項(xiàng)功能。 依賴太多 版本沖突。
簡單的說,起步依賴就是將具備某種功能的坐標(biāo)打包到一起,并提供一些默認(rèn)的功能。
??(3)輔助功能
提供了一些大型項(xiàng)目中常見的非功能性特性,如嵌入式服務(wù)器(tomcat)、安全、指標(biāo),健康檢測、外部配置等。
注意: Spring Boot 并不是對(duì) Spring 功能上的增強(qiáng),而是提供了一種快速使用 Spring 的方式。
4??SpringBoot官網(wǎng)
SpringBoot官網(wǎng): https://spring.io/

二、SpringBoot快速入門
1??開發(fā)環(huán)境
本文示例的開發(fā)環(huán)境:
java 8
Maven-3.6.1
SpringBoot 2.6.11
SpringBoot2.6.11官方文檔: https://docs.spring.io/spring-boot/docs/2.6.11/reference/htmlsingle/
2??創(chuàng)建SpringBoot項(xiàng)目
創(chuàng)建springboot項(xiàng)目有兩種方式:
在https://start.spring.io/上創(chuàng)建后,下載完成,通過IDEA打開即可。
在IDEA中直接創(chuàng)建。
??(1)頁面創(chuàng)建

??(2)IDEA創(chuàng)建


3??啟動(dòng)項(xiàng)目并訪問
??(1)創(chuàng)建一個(gè)HelloController.java

??(2)啟動(dòng)項(xiàng)目


訪問地址:http://localhost:8080/

這樣一個(gè)SpringBoot項(xiàng)目就創(chuàng)建完成了。
??(3)自定義banner圖
啟動(dòng)時(shí)的banner圖可以自己定義:

在根目錄下添加banner.txt或者添加靜態(tài)資源圖片即可。
重新啟動(dòng)項(xiàng)目,即可在控制臺(tái)看到效果。

可以在這里找自己喜歡的圖案:https://www.bootschool.net/ascii-art
三、SpringBoot起步依賴原理分析
在spring-boot-starter-parent中定義了各種技術(shù)的版本信息,組合了一套最優(yōu)搭配的技術(shù)版本。
在各種starter中,定義了完成該功能需要的坐標(biāo)合集,其中大部分版本信息來自于父工程。
我們的工程繼承parent,引入starter后,通過依賴傳遞,就可以簡單方便獲得需要的jar包,并且不會(huì)存在版本沖突等問題。
四、SpringBoot啟動(dòng)器
Springboot包含許多啟動(dòng)項(xiàng)目并快速運(yùn)行所需的依賴項(xiàng),并且具有一組受支持的被管理的傳遞性依賴項(xiàng),所有的正式starter都遵循類似的命名模式spring-boot-starter-*。
starter啟動(dòng)器是一組方便的依賴項(xiàng)描述符,可以在pom中引入其依賴,免去了自己需要引用很多依賴類,并且SpringBoot會(huì)自動(dòng)進(jìn)行類的自動(dòng)配置。例如,如果要使用SpringMVC開發(fā)web應(yīng)用,可以在pom文件中包含spring-boot-starter-web依賴項(xiàng),如下:

只添加spring-boot-starter-web就可以進(jìn)行web開發(fā)了,并且不用聲明版本號(hào)。
啟動(dòng)器包含許多依賴項(xiàng),包括版本號(hào),可以添加這些依賴項(xiàng)使項(xiàng)目快速啟動(dòng)并運(yùn)行。

官方啟動(dòng)器命名規(guī)則:spring-boot-starter-*,其中*是特定類型的應(yīng)用程序。例如,spring-boot-starter-web。
第三方啟動(dòng)器命名規(guī)則: 以項(xiàng)目名稱開頭*-boot-starter。例如,MyBatis-Plus。他的命名是mybatis-plus-boot-starter
??(1)Spring Boot提供的啟動(dòng)器(starter)
Spring Boot 應(yīng)用程序啟動(dòng)器官方文檔:
https://docs.spring.io/spring-boot/docs/2.6.11/reference/htmlsingle/#using.build-systems.starters

??(2)自定義啟動(dòng)器
(1)創(chuàng)建一個(gè)Spring boot項(xiàng)目

(2)導(dǎo)入pom依賴

(3)編寫配置類
新建一個(gè)配置類:

(4)在resources/META-INF目錄下新建spring.factories文件

(5)mvn install到本地倉庫

(6)使用自定義starter
構(gòu)建成功后,我們就可以再其他springboot項(xiàng)目的pom中引入自定義starter:

后記

需要更多python教程? 點(diǎn)贊+評(píng)論學(xué)習(xí)