免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

手寫自定義springboot-starter,感受框架的魅力和原理

一、前言Springboot的自動(dòng)配置原理,面試中經(jīng)常問到,一直看也記不住,不如手寫一個(gè)starter,加深一下記憶 。看了之后發(fā)現(xiàn)大部分的starter都是這個(gè)原理,實(shí)踐才會記憶深刻 。核心思想:約定大于配置
二、初探starter啟動(dòng)原理我們直接看看官網(wǎng)的starter是怎么設(shè)計(jì)的,仿照這寫一個(gè)就行了!
我們Ctrl點(diǎn)擊<artifactId>spring-boot-starter-web</artifactId>,進(jìn)入內(nèi)部pom,我們發(fā)現(xiàn)里面有個(gè)
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.5.3</version><scope>compile</scope></dependency>在此Ctrl點(diǎn)擊<artifactId>spring-boot-starter</artifactId>進(jìn)入starter內(nèi)部pom:我們發(fā)現(xiàn)之后干活的就是這個(gè)包依賴:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.5.3</version><scope>compile</scope></dependency>

手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
我們現(xiàn)在創(chuàng)建兩個(gè)項(xiàng)目即可:
  • spring-boot-starter(啟動(dòng)器)
  • spring-boot-starter-autoconfigure(自動(dòng)配置包)
小編看到官方這么寫的提醒,大家可以按照官網(wǎng)的進(jìn)行起名稱,不要學(xué)小編哈!!
您應(yīng)該確保為您的啟動(dòng)器提供適當(dāng)?shù)拿臻g 。不要以 . 開頭的模塊名稱spring-boot,即使您使用不同的 Maven groupId 。我們將來可能會為您自動(dòng)配置的內(nèi)容提供官方支持 。根據(jù)經(jīng)驗(yàn),您應(yīng)該在啟動(dòng)器之后命名組合模塊 。例如,假設(shè)您正在為“acme”創(chuàng)建一個(gè)啟動(dòng)器,并且您命名自動(dòng)配置模塊acme-spring-boot和啟動(dòng)器acme-spring-boot-starter 。如果您只有一個(gè)模塊將兩者結(jié)合起來,請將其命名為acme-spring-boot-starter.
三、項(xiàng)目搭建1. 新建空白項(xiàng)目
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
輸入總的項(xiàng)目名稱
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
在空白項(xiàng)目里新建兩個(gè),這里可以分開單獨(dú)建立,這里小編跟著雷神一樣了,就不單獨(dú)建立項(xiàng)目了!!
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
2. 新建maven項(xiàng)目
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
包名和名稱:
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
3. 新建springboot項(xiàng)目
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
4. 項(xiàng)目架構(gòu)這里把沒有用的都刪除了!!可以不刪
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
四、配置1. 在starter項(xiàng)目中引入自己的autoconfigure依賴就是上面建立項(xiàng)目的設(shè)置的
<dependencies><dependency><groupId>com.wang</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
手寫自定義springboot-starter,感受框架的魅力和原理

文章插圖
2. spring-boot-autoconfigure pom配置<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.3.7.RELEASE</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>${spring-boot.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency></dependencies>

經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀