最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何實(shí)現(xiàn)自己的spring boot starter

 更新時(shí)間:2019年08月22日 10:02:40   作者:357029540  
這篇文章主要介紹了如何實(shí)現(xiàn)自己的spring boot starter,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

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

1.新建一個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包來做基礎(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.添加一個可配置的properties類,用于可配置屬性的加載

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

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

4.定義一個類來使用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一樣使用呢?那么我們就需要把它定義為一個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 

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java尋找迷宮路徑的簡單實(shí)現(xiàn)示例

    java尋找迷宮路徑的簡單實(shí)現(xiàn)示例

    這篇文章主要介紹了java尋找迷宮路徑的簡單實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java特性之注解和異常?Throwable

    Java特性之注解和異常?Throwable

    這篇文章主要介紹了Java特性之注解和異常,注解是JDK1.5版本開始引入的一個特性,Throwable是Java語言中所有錯誤與異常的超類,文章圍繞主題展開更多的相關(guān)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Java實(shí)現(xiàn)多路復(fù)用select模型實(shí)例詳解

    Java實(shí)現(xiàn)多路復(fù)用select模型實(shí)例詳解

    在計(jì)算機(jī)網(wǎng)絡(luò)中,多路復(fù)用(Multiplexing)指的是通過一種機(jī)制將多個 I/O 操作合并到同一個線程或進(jìn)程中,從而提高系統(tǒng)的效率,在 Java 中,可以使用 Selector 類來實(shí)現(xiàn)基于 I/O 多路復(fù)用的模式,故本文給大家介紹了Java實(shí)現(xiàn)多路復(fù)用select模型實(shí)例,需要的朋友可以參考下
    2025-03-03
  • mybatis 為什么千萬不要使用 where 1=1

    mybatis 為什么千萬不要使用 where 1=1

    這篇文章主要介紹了mybatis 為什么千萬不要使用 where 1=1,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • JAVA WEB中Servlet和Servlet容器的區(qū)別

    JAVA WEB中Servlet和Servlet容器的區(qū)別

    這篇文章主要介紹了JAVA WEB中Servlet和Servlet容器的區(qū)別,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Java緩沖字符流的實(shí)現(xiàn)示例

    Java緩沖字符流的實(shí)現(xiàn)示例

    本文詳細(xì)介紹了Java緩沖字符流的使用,通過使用BufferedReader和BufferedWriter,可以更高效地處理文本數(shù)據(jù),提高讀寫效率,感興趣的可以了解一下
    2024-12-12
  • 手把手教你使用Java實(shí)現(xiàn)在線生成pdf文檔

    手把手教你使用Java實(shí)現(xiàn)在線生成pdf文檔

    在實(shí)際的業(yè)務(wù)開發(fā)的時(shí)候,常常會需要把相關(guān)的數(shù)據(jù)信息,通過一些技術(shù)手段生成對應(yīng)的PDF文件,然后返回給用戶。本文將手把手教大家如何利用Java實(shí)現(xiàn)在線生成pdf文檔,需要的可以參考一下
    2022-03-03
  • SpringBoot使用Jsp的示例代碼

    SpringBoot使用Jsp的示例代碼

    這篇文章主要介紹了SpringBoot使用Jsp的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • IDEA 集成 Docker 插件一鍵部署 SpringBoot 應(yīng)用小結(jié)

    IDEA 集成 Docker 插件一鍵部署 SpringBoot 應(yīng)用

    通過本文介紹的方法,我們期望能幫助開發(fā)者更輕松地在IDEA中實(shí)現(xiàn)Spring Boot應(yīng)用的Docker化部署,為現(xiàn)代軟件開發(fā)提供更便捷的解決方案,感興趣的朋友一起看看吧
    2023-11-11
  • Mybatis中強(qiáng)大的resultMap功能介紹

    Mybatis中強(qiáng)大的resultMap功能介紹

    這篇文章主要給大家介紹了關(guān)于Mybatis中強(qiáng)大的resultMap功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評論

长宁区| 肇庆市| 珲春市| 凤冈县| 南京市| 特克斯县| 溧水县| 青冈县| 天全县| 南阳市| 黔江区| 岳阳市| 翼城县| 大邑县| 玛纳斯县| 上饶市| 大理市| 二连浩特市| 鄄城县| 荆州市| 康定县| 龙胜| 贵阳市| 荃湾区| 平阳县| 天祝| 白山市| 凌源市| 中牟县| 乌审旗| 江陵县| 泰顺县| 卫辉市| 舞阳县| 宜川县| 且末县| 休宁县| 鄂伦春自治旗| 滨州市| 海林市| 北海市|