1. 程式人生 > 實用技巧 >springboot自定義starter

springboot自定義starter

目錄

springboot 自定義 starters

思路:
1、這個場景需要使用到的依賴是什麼?
2、如何編寫自動配置?

1、模式

建立2個maven專案。

  • 啟動器(starter)
    • 啟動器模組是一個空的jar包,它僅提供輔助性依賴管理,這些依賴可能用於自動裝配,或者其他類庫。
  • 自動配置模組(autoconfigure)
    • 啟動器依賴的自動配置。這樣別人只需要引入(starter)即可。

2、命名

官方命名是:spring-boot-starter-xxx

我們自定義用:xxx-spring-boot-starter

3、快速開始

  • 3.1、 建立一個空的project

使用maven初始化器建立一個maven模組:

使用spring initializr建立一個springboot模組:

不選中任何模組,可以選擇springboot的版本,這裡使用的是預設的版本:

專案結構:

在啟動器模組,引入自動配置的座標依賴:

把沒用的目錄結構都刪掉,最終編寫前比較整潔的目錄結構:

  • 3.2、編寫業務場景
  1. 編寫xxProperties配置類,並用@ConfigurationProperties註解標註。

這裡爆紅無影響。

相當於寫了屬性,用來繫結配置檔案中的: zxx.hello.prefix

zxx.hello.suffix

  1. 編寫需要用到這個配置類的xxService,同時要為這個xxService定義一個包含xxProperties的構造器。

  1. 要讓它起效果,還需要編寫一個自動配置類。

  1. 在 resources資源目錄下新建 /META-INF/spring.factories 檔案,它會在springboot專案啟動時,載入上面的自動配置類,這樣才生效。

  1. 把這2個模組,安裝到maven倉庫中,這樣別人就可以通過座標來引入了:

4、測試

  1. 新建一個demo專案,選中web模組:

  1. 引入我們自己定義的starter:
    <dependency>
        <groupId>com.zxx.starter</groupId>
        <artifactId>zxx-spring-boot-starter</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

這時我們就可以看到,此時的依賴已經引入到我們的demo工程裡了:

  1. 寫一個controller測試一下:

在application.properties配置檔案中配置:

瀏覽器中訪問: