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

SpringBoot3.x中自定義開發(fā)通用SDK的實(shí)現(xiàn)

 更新時(shí)間:2024年12月26日 09:53:06   作者:米飯好好吃.  
本文介紹了SpringBoot和Maven創(chuàng)建自定義的SDK,包括創(chuàng)建項(xiàng)目、修改配置、編寫配置類、設(shè)置配置文件、構(gòu)建Jar包等,具有一定的參考價(jià)值,感興趣的可以了解一下

1. 前言

相信大家學(xué)習(xí)SpringBoot到現(xiàn)在,使用Maven構(gòu)建項(xiàng)目時(shí),會(huì)在pom.xml文件中引入各種各樣的依賴,那么我們?nèi)绾螌⒆约撼S玫囊恍┕ぞ哳悗爝M(jìn)行封裝成starter或者SDK供其他項(xiàng)目使用呢,本博客就會(huì)帶著大家一步一步創(chuàng)建自定義的SDK依賴

2. 前置準(zhǔn)備

本博客基于的Java開發(fā)環(huán)境如下:

  • JDK17
  • SpringBoot3.2.6(SpringBoot2.x的項(xiàng)目此處不適用?。。。?/li>

3. 開發(fā)步驟

3.1 創(chuàng)建項(xiàng)目

此處使用IDEA內(nèi)置Spring Initializr初始化工具快速創(chuàng)建項(xiàng)目:

  • 填寫項(xiàng)目配置:

image.png

  • 設(shè)置SpringBoot版本以及依賴

image.png

此處一定要勾選(Spring Configuration Processor依賴)

  • 點(diǎn)擊create創(chuàng)建項(xiàng)目即可!

3.2 修改無關(guān)配置

3.2.1 設(shè)置項(xiàng)目版本

pom.xml文件中的項(xiàng)目版本改寫成:<version>0.0.1<version>

image.png

3.2.2 刪除Maven的build插件

將如下內(nèi)容從pom.xml文件中刪除

image.png

3.2.3 刪除啟動(dòng)類

由于這不是一個(gè)Web項(xiàng)目,因此我們需要將啟動(dòng)類給刪除

3.3 編寫配置類

3.3.1 編寫屬性配置類

例如,下面該類用于讀取配置文件中形如rice.executors.fixedPoolSize=10的變量

/**
 * 線程池屬性類
 * @author 米飯好好吃
 */
@Configuration
@ConfigurationProperties(prefix = "rice.executors")
@Data
public class ExecutorProperties {
    private int fixedPoolSize; // num of threads
}

3.3.2 編寫業(yè)務(wù)類

@Data
public class FixedExecutorTemplate {
    private ExecutorService executorService;

    public FixedExecutorTemplate(int fixedPoolSize) {
        this.executorService = Executors.newFixedThreadPool(fixedPoolSize);
    }

    public void submit(Runnable task) {
        this.executorService.submit(task);
    }
}

3.3.3 編寫配置類

該類就用于注入不同的屬性配置類對象,讀取配置文件中的信息,然后創(chuàng)建出不同的bean實(shí)例供其他項(xiàng)目使用,本質(zhì)就是省去了其余項(xiàng)目手動(dòng)創(chuàng)建的麻煩!?。?/strong>

/**
 * 項(xiàng)目配置類
 * @author 米飯好好吃
 */
@AutoConfiguration
@EnableConfigurationProperties({ExecutorProperties.class})
public class CommonConfig {
    @Resource
    private ExecutorProperties executorProperties;

    @Bean
    public FixedExecutorTemplate executorTemplate() {
        return new FixedExecutorTemplate(executorProperties.getFixedPoolSize());
    }
}

3.4 設(shè)置配置文件

下面我們還需要給其余項(xiàng)目在application.yml等文件中給予友好提示,類似于下圖這樣的效果:

image.png

詳細(xì)步驟:

  • 在 resources目錄下創(chuàng)建META-INF/spring兩級(jí)子目錄
  • 然后在spring目錄下創(chuàng)建文件名為org.springframework.boot.autoconfigure.AutoConfiguration.imports的文件,如果配置無誤應(yīng)該在IDEA中會(huì)有識(shí)別提示:

image.png

  • 在該文件中配置項(xiàng)目配置類的路徑,例如此處就是:com.rice.commonsdk.CommonConfig

image.png

3.5 使用Maven構(gòu)建成Jar包

接下來我們就可以借助Maven的install命令將項(xiàng)目構(gòu)建成jar包,供其余項(xiàng)目引入:

image.png

如果出現(xiàn)以下錯(cuò)誤,說明是測試的問題,只要將項(xiàng)目中的test目錄刪除或者在Maven配置面板中選擇toggle skip test model選項(xiàng)即可省略執(zhí)行測試的步驟:
構(gòu)建完成后就可以在本地的Maven倉庫目錄找到所在jar包,默認(rèn)路徑為:C:\用戶目錄\.m2\repository\包名

image.png

3.6 測試

我們在別的項(xiàng)目中就可以引入jar包依賴觀察能夠正常使用:

image.png

此處我們也能在pom.xml文件中看到提示了:

image.png

編寫控制類測試:

@RestController
@RequestMapping("/test")
public class ClientController {

    @Resource
    private FixedExecutorTemplate fixedExecutorTemplate;

    @GetMapping("/fixed")
    public void testFixed() {
        for (int i = 0; i < 10; i++) {
            int j = i;
            fixedExecutorTemplate.submit(() -> {
                System.out.println(j);
            });
        }
    }
}

到此這篇關(guān)于SpringBoot3.x中自定義開發(fā)通用SDK的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot3.x通用SDK內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java如何利用return結(jié)束方法調(diào)用

    Java如何利用return結(jié)束方法調(diào)用

    這篇文章主要介紹了Java如何利用return結(jié)束方法調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java導(dǎo)出Excel通用工具類實(shí)例代碼

    Java導(dǎo)出Excel通用工具類實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出Excel通用工具類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java overload和override的區(qū)別分析

    Java overload和override的區(qū)別分析

    方法的重寫(Overriding)和重載(Overloading)是Java多態(tài)性的不同表現(xiàn),想要了解更多請參考本文
    2012-11-11
  • 使用?Spring?Boot?Admin?監(jiān)控應(yīng)用狀態(tài)的詳細(xì)過程

    使用?Spring?Boot?Admin?監(jiān)控應(yīng)用狀態(tài)的詳細(xì)過程

    這篇文章主要介紹了使用?Spring?Boot?Admin?監(jiān)控應(yīng)用狀態(tài),該模塊采集應(yīng)用的內(nèi)部信息,并暴露給外部的模塊,支持?HTTP?和?JMX,并可以與一些第三方監(jiān)控系統(tǒng)(如?Prometheus)整合,需要的朋友可以參考下
    2022-09-09
  • SpringBoot中日志輸出規(guī)范的五種策略

    SpringBoot中日志輸出規(guī)范的五種策略

    在企業(yè)級(jí)應(yīng)用開發(fā)中,合理規(guī)范的日志記錄是系統(tǒng)穩(wěn)定運(yùn)行、問題排查和性能優(yōu)化的關(guān)鍵保障,SpringBoot作為流行的Java開發(fā)框架,提供了強(qiáng)大而靈活的日志支持,但如何建立統(tǒng)一、高效的日志輸出規(guī)范卻是許多團(tuán)隊(duì)面臨的挑戰(zhàn),本文將介紹SpringBoot中5種日志輸出規(guī)范策略
    2025-06-06
  • SpringMVC按Ctrl上傳多個(gè)文件的方法

    SpringMVC按Ctrl上傳多個(gè)文件的方法

    這篇文章主要為大家詳細(xì)介紹了SpringMVC按Ctrl上傳多個(gè)文件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • JAVA并發(fā)中VOLATILE關(guān)鍵字的神奇之處詳解

    JAVA并發(fā)中VOLATILE關(guān)鍵字的神奇之處詳解

    這篇文章主要給大家介紹了關(guān)于JAVA并發(fā)中VOLATILE關(guān)鍵字的神奇之處的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Mybatis-Plus的使用詳解

    Mybatis-Plus的使用詳解

    這篇文章主要介紹了Mybatis-Plus的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Storm框架整合springboot的方法

    Storm框架整合springboot的方法

    Storm框架中的每個(gè)Spout和Bolt都相當(dāng)于獨(dú)立的應(yīng)用,Strom在啟動(dòng)spout和bolt時(shí)提供了一個(gè)open方法(spout)和prepare方法(bolt)。這篇文章主要介紹了Storm框架整合springboot的方法,需要的朋友可以參考下
    2018-11-11
  • Java程序進(jìn)程起來了但是不打印日志的原因分析

    Java程序進(jìn)程起來了但是不打印日志的原因分析

    這篇文章主要介紹了Java程序進(jìn)程起來了但是不打印日志的原因分析,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論

镇平县| 梓潼县| 新蔡县| 新丰县| 锡林浩特市| 靖边县| 长寿区| 岳西县| 卢龙县| 桓台县| 滦南县| 镇原县| 霞浦县| 加查县| 岳阳市| 凯里市| 札达县| 烟台市| 茶陵县| 江川县| 新昌县| 名山县| 福泉市| 巴里| 通渭县| 嵊州市| 茌平县| 昌都县| 龙州县| 胶州市| 长武县| 通渭县| 南召县| 民县| 昌都县| 揭东县| 易门县| 沐川县| 沾化县| 祁门县| 越西县|