咱們都知道可使用SpringBoot快速的開發基於Spring框架的項目。因爲圍繞SpringBoot存在不少開箱即用的Starter依賴,使得咱們在開發業務代碼時可以很是方便的、不須要過多關注框架的配置,而只須要關注業務便可。spring
其實springboot的一個啓動器基本上就包含兩個項目,一個是spring-boot-starter,另外一個是spring-boot-autoConfigurejson
舉個Json啓動器的例子,這裏麪包含了josn的starter和autoConfiger,由於autoConfiger裏面集成了許多的配置,因此就是其餘的模塊也共用了這一個,其實在這個autoConfiger項目裏面主要是看spring.factories這個配置文件,這個裏面配置springboot官方的模塊的autoConfigerspringboot
咱們剛纔舉的例子json的就在這裏框架
其實總結起來也就是說,starter項目模塊在pom文件中引入了autoConfiger這個項目,因此starter裏面可使用autoConfiger裏面的東西。spring-boot
其實寫本身啓動器也就是大體5個步驟源碼分析
1:編寫本身具體的業務,根據本身的需求。測試
2:xxxProperties配置文件的編寫3d
3:xxxAutoConfigure的編寫blog
4:將咱們的啓動類放到springboot項目中的resouces/META-INT下面的spring.factories(這個目錄以及文件須要本身手動建)開發
5:將本身編寫的自動配置安裝到Maven倉庫便可。
6:測試。
下面是我本身編寫的一個簡單的啓動器:
第一步首先建立一個空項目,根據本身的需求建立。
第二步:編寫peoperties
第三步:編寫autoConfig
第四步:主要是咱們的業務
第五步:建立META-INF/spring.factories文件
第六步:把項目打包並測試,在starter項目中引入autoConfig
最後一步,即是創建一個項目測試
實際上是不是很簡單,和咱們日常的項目打包引入區別不大,主要是這個步驟牽涉到springboot的運行機制原理,下一回簡單探討一下springboot的底層源碼分析,爲何咱們要這樣定義properties和autoconfig呢?(委婉待續......)