SpringBoot特點(diǎn)之依賴管理和自動(dòng)裝配(實(shí)例代碼)
1.1依賴管理
父項(xiàng)目做依賴管理
自動(dòng)版本仲裁:在父項(xiàng)目里規(guī)定了依賴的版本,只需要引入以來(lái)即可,不需要寫(xiě)版本號(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> 幾乎聲明了所有開(kāi)發(fā)中常用的依賴的版本號(hào),自動(dòng)版本仲裁機(jī)制
開(kāi)發(fā)導(dǎo)入Staeter場(chǎng)景啟動(dòng)器
1、見(jiàn)到很多 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、見(jiàn)到的 *-spring-boot-starter: 第三方為我們提供的簡(jiǎn)化開(kāi)發(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>
無(wú)序關(guān)注版本號(hào),自動(dòng)版本仲裁
1.引入以來(lái)默認(rèn)都可以不用寫(xiě)版本
2.引入非版本仲裁的jar,需要寫(xiě)版本號(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)目里面重寫(xiě)配置
<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常見(jiàn)的功能,如:字符碼問(wèn)題
SpringBoot幫用戶配好了所欲的web開(kāi)發(fā)的常見(jiàn)場(chǎng)景
默認(rèn)的包結(jié)構(gòu)
在主程序所在的包下以及下面的所有子包里面的組件都會(huì)被默認(rèn)掃描進(jìn)來(lái)
不需要像以前一樣在配置文件進(jìn)行配置包掃描
如果想改變掃描路徑,使用@SpringBootApplication(scanBasePackages=“掃描路徑”)或者
@ComponentScan在主程序下指定掃描路徑
@SpringBootApplication 等同于 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan("com.atguigu.boot")
例如:
包結(jié)構(gòu):
想要WorldController能夠有效就需要重新設(shè)置包掃描,或者將此包放入主程序所在包或及其子包下
?。t線就是指定包掃描)
各種配置擁有默認(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ì)開(kāi)啟
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)文章
SpringBoot過(guò)濾器與攔截器深入分析實(shí)現(xiàn)方法
大家應(yīng)該都曉得實(shí)現(xiàn)過(guò)濾器需要實(shí)現(xiàn) javax.servlet.Filter 接口,而攔截器會(huì)在處理指定請(qǐng)求之前和之后進(jìn)行相關(guān)操作,配置攔截器需要兩步,本文通過(guò)實(shí)例代碼給大家介紹SpringBoot 過(guò)濾器和攔截器的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-11-11SpringBoot?模板模式實(shí)現(xiàn)優(yōu)惠券邏輯的示例代碼
這篇文章主要介紹了SpringBoot?模板模式實(shí)現(xiàn)優(yōu)惠券邏輯,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08springboot使用國(guó)產(chǎn)加密算法方式,sm2和sm3加解密demo
這篇文章主要介紹了springboot使用國(guó)產(chǎn)加密算法方式,sm2和sm3加解密demo,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07關(guān)于RestTemplate中的Get請(qǐng)求
這篇文章主要介紹了關(guān)于RestTemplate中的Get請(qǐng)求,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07springboot之Duration(java.time.Duration)在yml properties中
這篇文章主要介紹了springboot之Duration(java.time.Duration)在yml properties中的配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12基于Java實(shí)現(xiàn)五子棋小游戲(附源碼)
這篇文章主要為大家介紹了如何通過(guò)Java實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下2022-11-11