日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
一看就會,編寫自己的SpringBoot-Starter

開發(fā)自己的starter

starter的好處是,集成眾多依賴,提供一個一站式的依賴項。 Starter相當于模塊,它能將模塊所需的依賴整合起來并對模塊內的Bean根據環(huán)境( 條件)進行自動配置。 使用者只需要依賴相應功能的Starter,無需做過多的配置和依賴, Spring Boot就能自動掃描并加載相應的模塊。

佳木斯ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

命名

spring官方的starter命令為spring-boot-starter-xxx,所以我們開發(fā)的項目不要以spring-boot開頭。 建議寫成:xxx公司組織-spring-boot-starter-yyy模塊

開發(fā)步驟

1.新建Maven項目,在項目的POM文件中定義使用的依賴;

2.新建配置類,寫好配置項和默認的配置值,指明配置項前綴;

3.新建自動裝配類,使用@Configuration和@Bean來進行自動裝配;

4.新建spring.factories文件,指定Starter的自動裝配類;

具體代碼

1,新建一個springboot項目,在pom文件中增加以下依賴:

 
 
 
 
  1.  org.springframework.boot
  2.  spring-boot-configuration-processor
  3.  true

主要的作用是在編譯時在META-INF下生成spring-configuration-metadata.json 文件,該文件主要為IDE使用。 即可以通過在application.properties文件中通過ctrl + 點擊進入配置屬性所在的類中

2,配置類

關鍵是要指定配置項的前綴。這些配置項,也可以設置默認值。

3,自動裝配類

自動裝配類是整個starter的邏輯核心。根據配置項的值,自動注入合適的bean。

在這個項目中,有一個抽象的AbstractMyService,代表客戶端會使用的服務bean。

MyStarterServiceV1和MyStarterServiceV2是根據條件注入的具體實現(xiàn)類。

也就是客戶端在配置spring101.version=v1會使用MyStarterServiceV1,

配置spring101.version=v2會使用MyStarterServiceV2

4,新建spring.factories文件,指定Starter的自動裝配類。

在resources下新建META-INF文件夾,新建spring.factories文件。內容為:

 
 
 
 
  1. #指定autoconfigure加載的自動裝配類是哪個
  2. org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.uncley.MyAutoConfiguration

5,打包測試

maven clean install

先install到本地倉庫測試

新創(chuàng)建一個普通的springboot工程:mystarter-use 依賴 在application.properties增加配置

 
 
 
 
  1. spring101.age=22
  2. spring101.name=uncleY
  3. spring101.version=v2

寫一個測試類

 
 
 
 
  1. @Component
  2. @Slf4j
  3. public class MyStarterUseTest implements CommandLineRunner {
  4.  @Autowired
  5.  private AbstractMyService myService;
  6.  @Override
  7.  public void run(String... args) throws Exception {
  8.  log.info(myService.hello());
  9.  }
  10. }

通過修改spring101.version的值可以觀察到,實例化了不同的service


新聞名稱:一看就會,編寫自己的SpringBoot-Starter
文章源于:http://www.dlmjj.cn/article/dphdepg.html