怎么實(shí)現(xiàn)自己的springbootstarter

這篇文章將為大家詳細(xì)講解有關(guān)怎么實(shí)現(xiàn)自己的spring boot starter,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、勐海網(wǎng)站維護(hù)、網(wǎng)站推廣。

前言

在使用spring boot開發(fā)的時(shí)候,我們有時(shí)候想要把自己的代碼打包成類似spring-boot-starter-web的樣式來(lái)導(dǎo)入到自己的中央倉(cāng)庫(kù),然后其他項(xiàng)目就可以引用類似springboot那樣的引用了,下面我們就實(shí)現(xiàn)一個(gè)類似的項(xiàng)目。

1.新建一個(gè)spring boot 項(xiàng)目,取名為mybootspringbootstarter,groupId和artifactId如下所示

<groupId>com.my.boot</groupId> 
<artifactId>myboot-spring-boot-starter</artifactId> 
<version>1.0-SNAPSHOT</version>

這里需要注意的是為了區(qū)分springboot自己的jar,默認(rèn)規(guī)則的話我們把自己的取名放在spring-boot-starter前面,如上面代碼所示。

2.引入springboot相關(guān)jar包來(lái)做基礎(chǔ)處理

<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter</artifactId> 
  <version>2.1.3.RELEASE</version> 
</dependency> 
<dependency> 
   <groupId>org.springframework.boot</groupId> 
   <artifactId>spring-boot-autoconfigure</artifactId> 
  <version>2.1.0.RELEASE</version> 
</dependency> 
<!--生成配置文件元數(shù)據(jù)結(jié)構(gòu)--> 
<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-configuration-processor</artifactId> 
  <version>2.1.2.RELEASE</version> 
</dependency>

spring-boot-starter是核心包,必須添加。

3.添加一個(gè)可配置的properties類,用于可配置屬性的加載

@ConfigurationProperties(prefix = "com.myboot")
public class MyBootProperties {
  /**
   * 名稱
   */
  private String name;
  /**
   * 是否啟用
   */
  private boolean enable;

....省略get/set方法
}

4.定義一個(gè)類來(lái)使用properties類的屬性引用

public class MyService {
  /**
   * 名稱
   */
  private String name;
  /**
   * 是否啟用
   */
  private boolean enable;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public boolean isEnable() {
    return enable;
  }
  public void setEnable(boolean enable) {
    this.enable = enable;
  }
  public void print(){
    System.out.println("name:" + this.name + "----enable:" + this.enable);
  }
}

5.定義好以上類后,我們?nèi)绾蜗馼ean一樣使用呢?那么我們就需要把它定義為一個(gè)bean

@Configuration 
@EnableConfigurationProperties(MyBootProperties.class) 
public class MyBootAutoConfiguration { 
  @Bean 
  public MyService myService(MyBootProperties myBootProperties){ 
    MyService myService = new MyService(); 
    myService.setName(myBootProperties.getName()); 
    myService.setEnable(myBootProperties.isEnable()); 
    return myService; 
  } 
}

6.怎么樣才能在其他架構(gòu)中引入我們定義的bean呢?我們需要在resources/META-INFO下定義spring.factories文件

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 
 com.my.boot.configure.MyBootAutoConfiguration

這個(gè)是spring的標(biāo)準(zhǔn)格式,spring的加載器會(huì)自動(dòng)去尋找這個(gè)文件下的所有配置實(shí)現(xiàn)自動(dòng)的注入。

通過以上步驟就完成了基本starter的搭建,最后通過maven clean install就可以生成一個(gè)jar了在倉(cāng)庫(kù)中,我們可以在另外的項(xiàng)目中像引入springboot相關(guān)的jar引入了。

關(guān)于“怎么實(shí)現(xiàn)自己的spring boot starter”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

當(dāng)前文章:怎么實(shí)現(xiàn)自己的springbootstarter
轉(zhuǎn)載注明:http://muchs.cn/article32/gdcgsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、用戶體驗(yàn)、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司