SpringBoot特點(diǎn)之依賴管理和自動(dòng)裝配(實(shí)例代碼)
1.1依賴管理
父項(xiàng)目做依賴管理
自動(dòng)版本仲裁:在父項(xiàng)目里規(guī)定了依賴的版本,只需要引入以來即可,不需要寫版本號(hào)
依賴管理
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
他的父項(xiàng)目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
幾乎聲明了所有開發(fā)中常用的依賴的版本號(hào),自動(dòng)版本仲裁機(jī)制開發(fā)導(dǎo)入Staeter場(chǎng)景啟動(dòng)器
1、見到很多 spring-boot-starter-* : *就某種場(chǎng)景 2、只要引入starter,這個(gè)場(chǎng)景的所有常規(guī)需要的依賴我們都自動(dòng)引入 3、SpringBoot所有支持的場(chǎng)景 https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter 4、見到的 *-spring-boot-starter: 第三方為我們提供的簡(jiǎn)化開發(fā)的場(chǎng)景啟動(dòng)器。 5、所有場(chǎng)景啟動(dòng)器最底層的依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency>
無序關(guān)注版本號(hào),自動(dòng)版本仲裁
1.引入以來默認(rèn)都可以不用寫版本
2.引入非版本仲裁的jar,需要寫版本號(hào)
例如:
SpringBoot2中父項(xiàng)目中規(guī)定mtsql版本為8.0的版本
當(dāng)我們需要使用較低版本時(shí)就想要聲明版本號(hào)
步驟:
1、查看spring-boot-dependencies里面規(guī)定當(dāng)前依賴的版本 用的 key。
2、在當(dāng)前項(xiàng)目里面重寫配置
<properties>
<mysql.version>5.1.43</mysql.version>
</properties>1.2自動(dòng)裝配
自動(dòng)配好Tomcat
引入Tmocat依賴
配置Tmocat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>compile</scope>
</dependency>自動(dòng)配好Web常見的功能,如:字符碼問題
SpringBoot幫用戶配好了所欲的web開發(fā)的常見場(chǎng)景
默認(rèn)的包結(jié)構(gòu)
在主程序所在的包下以及下面的所有子包里面的組件都會(huì)被默認(rèn)掃描進(jìn)來
不需要像以前一樣在配置文件進(jìn)行配置包掃描
如果想改變掃描路徑,使用@SpringBootApplication(scanBasePackages=“掃描路徑”)或者
@ComponentScan在主程序下指定掃描路徑
@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.atguigu.boot")例如:
包結(jié)構(gòu):

想要WorldController能夠有效就需要重新設(shè)置包掃描,或者將此包放入主程序所在包或及其子包下
(紅線就是指定包掃描)

各種配置擁有默認(rèn)的配置
默認(rèn)配置最終都是映射到某個(gè)類上,如:MultipartProperties
配置文件的值最終會(huì)綁定在每個(gè)類上,這個(gè)類會(huì)在容器IOC中創(chuàng)建對(duì)象
按需加載所有自動(dòng)配置項(xiàng)
非常多的Starter(場(chǎng)景)
想要哪些自動(dòng)裝配有效就需要引入哪些場(chǎng)景,自動(dòng)裝配才會(huì)開啟
SpringBoot所有的自動(dòng)配置功能都在Spring-boot-autoconfigure包里面
到此這篇關(guān)于SpringBoot特點(diǎn)之依賴管理和自動(dòng)裝配的文章就介紹到這了,更多相關(guān)SpringBoot依賴管理和自動(dòng)裝配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java獲取當(dāng)前系統(tǒng)事件System.currentTimeMillis()方法
下面小編就為大家?guī)硪黄狫ava獲取當(dāng)前系統(tǒng)事件System.currentTimeMillis()方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Spring?Boot:Idea從零開始初始化后臺(tái)項(xiàng)目的教程
這篇文章主要介紹了Spring?Boot:Idea從零開始初始化后臺(tái)項(xiàng)目的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
全網(wǎng)最新Log4j?漏洞修復(fù)和臨時(shí)補(bǔ)救方法
Apache?Log4j?遠(yuǎn)程代碼執(zhí)行漏洞,如何快速修復(fù)log4j2漏洞,本文給大家介紹下Log4j?漏洞修復(fù)和臨時(shí)補(bǔ)救方法,感興趣的朋友跟隨小編一起看看吧2021-12-12
Java數(shù)據(jù)結(jié)構(gòu)之線性表
線性表是其組成元素間具有線性關(guān)系的一種數(shù)據(jù)結(jié)構(gòu),對(duì)線性表的基本操作主要有,獲取元素,設(shè)置元素值,遍歷,插入,刪除,查找,替換,排序等。而線性表可以采用順序儲(chǔ)存結(jié)構(gòu)和鏈?zhǔn)絻?chǔ)存結(jié)構(gòu),本節(jié)主要講解順序表、單鏈表以及雙鏈表的各種基本操作。2017-03-03
Java數(shù)據(jù)結(jié)構(gòu)之順序表篇
順序表,全名順序存儲(chǔ)結(jié)構(gòu),是線性表的一種。線性表用于存儲(chǔ)邏輯關(guān)系為“一對(duì)一”的數(shù)據(jù),順序表自然也不例外,不僅如此,順序表對(duì)數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)也有要求。順序表存儲(chǔ)數(shù)據(jù)時(shí),會(huì)提前申請(qǐng)一整塊足夠大小的物理空間,然后將數(shù)據(jù)依次存儲(chǔ)起來,存儲(chǔ)時(shí)數(shù)據(jù)元素間不留縫隙2022-01-01
Java開發(fā)實(shí)現(xiàn)的Socket雙向通信功能示例
這篇文章主要介紹了Java開發(fā)實(shí)現(xiàn)的Socket雙向通信功能,結(jié)合實(shí)例形式分析了java基于socket實(shí)現(xiàn)的服務(wù)器端與客戶端雙向通信相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
java計(jì)算工作時(shí)間除去節(jié)假日以及雙休日
這篇文章主要為大家詳細(xì)介紹了java計(jì)算工作時(shí)間除去節(jié)假日以及雙休日的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06

