手動(dòng)構(gòu)建springBoot啟動(dòng)器過程圖解
我們都知道可以使用SpringBoot快速的開發(fā)基于Spring框架的項(xiàng)目。由于圍繞SpringBoot存在很多開箱即用的Starter依賴,使得我們?cè)陂_發(fā)業(yè)務(wù)代碼時(shí)能夠非常方便的、不需要過多關(guān)注框架的配置,而只需要關(guān)注業(yè)務(wù)即可。
其實(shí)springboot的一個(gè)啟動(dòng)器基本上就包含兩個(gè)項(xiàng)目,一個(gè)是spring-boot-starter,另一個(gè)是spring-boot-autoConfigure

舉個(gè)Json啟動(dòng)器的例子,這里面包含了josn的starter和autoConfiger,因?yàn)閍utoConfiger里面集成了許多的配置,所以就是其他的模塊也共用了這一個(gè),其實(shí)在這個(gè)autoConfiger項(xiàng)目里面主要是看spring.factories這個(gè)配置文件,這個(gè)里面配置springboot官方的模塊的autoConfiger

我們剛才舉的例子json的就在這里

其實(shí)總結(jié)起來也就是說,starter項(xiàng)目模塊在pom文件中引入了autoConfiger這個(gè)項(xiàng)目,所以starter里面可以使用autoConfiger里面的東西。
其實(shí)寫自己?jiǎn)?dòng)器也就是大致5個(gè)步驟
1:編寫自己具體的業(yè)務(wù),根據(jù)自己的需求。
2:xxxProperties配置文件的編寫
3:xxxAutoConfigure的編寫
4:將我們的啟動(dòng)類放到springboot項(xiàng)目中的resouces/META-INT下面的spring.factories(這個(gè)目錄以及文件需要自己手動(dòng)建)
5:將自己編寫的自動(dòng)配置安裝到Maven倉(cāng)庫(kù)即可。
6:測(cè)試。
下面是我自己編寫的一個(gè)簡(jiǎn)單的啟動(dòng)器:
第一步首先創(chuàng)建一個(gè)空項(xiàng)目,根據(jù)自己的需求創(chuàng)建。

第二步:編寫peoperties

第三步:編寫autoConfig

第四步:主要是我們的業(yè)務(wù)

第五步:創(chuàng)建META-INF/spring.factories文件

第六步:把項(xiàng)目打包并測(cè)試,在starter項(xiàng)目中引入autoConfig


最后一步,便是建立一個(gè)項(xiàng)目測(cè)試


其實(shí)是不是很簡(jiǎn)單,和我們平常的項(xiàng)目打包引入?yún)^(qū)別不大,主要是這個(gè)步驟牽涉到springboot的運(yùn)行機(jī)制原理
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用Optional實(shí)現(xiàn)優(yōu)雅避免空指針異常
空指針異常(NullPointerException)可以說是Java程序員最容易遇到的問題了。為了解決這個(gè)問題,Java?8?版本中推出了?Optional?類,本文就來講講如何使用Optional實(shí)現(xiàn)優(yōu)雅避免空指針異常吧2023-03-03
SpringBoot項(xiàng)目的測(cè)試類實(shí)例解析
這篇文章主要介紹了SpringBoot項(xiàng)目的測(cè)試類實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Spring Boot非Web項(xiàng)目運(yùn)行的方法
這篇文章主要給大家介紹了關(guān)于Spring Boot非Web項(xiàng)目運(yùn)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Java中Date時(shí)區(qū)的轉(zhuǎn)換代碼示例
這篇文章主要給大家介紹了關(guān)于Java中Date時(shí)區(qū)轉(zhuǎn)換的相關(guān)資料,當(dāng)在不同的時(shí)區(qū)使用相同程序,時(shí)間的值只會(huì)為當(dāng)?shù)貢r(shí)間,這樣就會(huì)造成時(shí)間混亂,需要的朋友可以參考下2023-07-07
SpringBoot中ApplicationEvent和ApplicationListener用法小結(jié)
這篇文章介紹SpringBoot中ApplicationEvent用法,注意ApplicationEvent和MQ隊(duì)列雖然實(shí)現(xiàn)的功能相似,但是MQ還是有其不可替代性的,最本質(zhì)的區(qū)別就是MQ可以用于不同系統(tǒng)之間的消息發(fā)布,而SpringEvent這種模式只能在一個(gè)系統(tǒng)中,需要的朋友可以參考下2023-03-03

