Springboot筆記<1>版本控制器與場景啟動器
springboot版本控制器
SpringBoot應用的pom.xml中引入了一個父專案parent:spring-boot-starter-parent,spring-boot-starter-parent的父專案為spring-boot-dependencies。spring-boot-dependencies相當於SpringBoot的版本仲裁中心,其中有個properties標籤指定了一些依賴的版本:解決了一些版本衝突的問題,有了它我們在匯入依賴時預設不需要寫版本號,但是沒有在此處宣告版本號的依賴依然需要寫明版本。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.1</version> <relativePath/> </parent> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.6.1</version> </parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.6.1</version> <packaging>pom</packaging>
properties標籤:
<properties> <activemq.version>5.16.3</activemq.version> <antlr2.version>2.7.7</antlr2.version> <appengine-sdk.version>1.9.92</appengine-sdk.version> <artemis.version>2.19.0</artemis.version> <aspectj.version>1.9.7</aspectj.version> <assertj.version>3.21.0</assertj.version> <atomikos.version>4.0.6</atomikos.version> <awaitility.version>4.1.1</awaitility.version> <build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version> <byte-buddy.version>1.11.22</byte-buddy.version> <caffeine.version>2.9.2</caffeine.version> etc…… <properties>
版本仲裁:
1、引入依賴預設都可以不寫版本
2、引入非版本仲裁的jar,要寫版本號。
修改預設版本號:
檢視spring-boot-dependencies裡面規定當前依賴的版本用的 key。
1、引入依賴時直接寫上版本號
2、在當前專案裡面重寫配置
<properties>
<mysql.version>5.1.43</mysql.version>
</properties>
這兩種方法其實都是利用maven提供的特性,就近優先原則,就是在當前專案中已經配置了某個依賴的版本號我就使用其版本號,如果當前專案中沒有配置其版本號,我就去其父專案中找其版本號。
版本依賴關係
ctrl + shift + alt + U
:以圖的方式顯示專案中依賴之間的關係。
springboot場景啟動器
spring-boot-starter場景啟動器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.6.1</version>
<scope>compile</scope>
</dependency>
springboot的各種各樣的 starters,有官方提供的,也有第三方開源出來。starter是springBoot的一個重要部分。通過starter,我們能夠快速的引入一個功能,而無需額外的配置。同時starter一般還會給我提供預留的自定配置選項,我們只需要在application.properties中設定相關引數,就可以實現配置的個性化。
springboot場景:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-artemis</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
<version>2.6.1</version>
</dependency>
自動配置
-
自動配好Tomcat
引入Tomcat依賴,配置Tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>compile</scope>
</dependency>
-
自動配好SpringMVC
引入SpringMVC全套元件,自動配好SpringMVC常用元件(功能)
-
自動配好Web常見功能,如:字元編碼問題
-
SpringBoot幫我們配置好了所有web開發的常見場景
-
預設的包結構
主程式所在包及其下面的所有子包裡面的元件都會被預設掃描進來,無需以前的包掃描配置想要改變掃描路徑,@SpringBootApplication(scanBasePackages="###.###")或者@ComponentScan 指定掃描路徑
@SpringBootApplication
等同於
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("包路徑")
-
各種配置擁有預設值
預設配置最終都是對映到某個類上,如:MultipartProperties
配置檔案的值最終會繫結每個類上,這個類會在容器中建立物件
-
按需載入所有自動配置項
非常多的starter,引入了哪些場景這個場景的自動配置才會開啟,SpringBoot所有的自動配置功能都在 spring-boot-autoconfigure 包裡面
未經作者同意請勿轉載
本文來自部落格園作者:aixueforever,原文連結:https://www.cnblogs.com/aslanvon/p/15715008.html