欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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 編寫配置類

該類就用于注入不同的屬性配置類對(duì)象,讀取配置文件中的信息,然后創(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 測試

我們?cè)趧e的項(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java中的深拷貝(深復(fù)制)和淺拷貝(淺復(fù)制)介紹

    Java中的深拷貝(深復(fù)制)和淺拷貝(淺復(fù)制)介紹

    這篇文章主要介紹了Java中的深拷貝(深復(fù)制)和淺拷貝(淺復(fù)制)介紹,需要的朋友可以參考下
    2015-03-03
  • Java的單例設(shè)計(jì)模式詳解

    Java的單例設(shè)計(jì)模式詳解

    今天小編就為大家分享一篇關(guān)于Java的單例設(shè)計(jì)模式詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 簡單了解4種分布式session解決方案

    簡單了解4種分布式session解決方案

    這篇文章主要介紹了簡單了解4種分布式session解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java 字符終端上獲取輸入三種的方式分享

    Java 字符終端上獲取輸入三種的方式分享

    這篇文章主要介紹了Java 字符終端上獲取輸入三種的方式,有需要的朋友可以參考一下
    2013-11-11
  • javaSE中數(shù)組的概念與使用詳細(xì)教程

    javaSE中數(shù)組的概念與使用詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于javaSE中數(shù)組的概念與使用的相關(guān)資料,數(shù)組在內(nèi)存中是一段連續(xù)的空間,空間的編號(hào)都是從0開始的,依次遞增,該編號(hào)稱為數(shù)組的下標(biāo),需要的朋友可以參考下
    2023-08-08
  • JAVA獲取本地MAC地址的方法

    JAVA獲取本地MAC地址的方法

    這篇文章主要介紹了JAVA獲取本地MAC地址的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • IDEA生成項(xiàng)目后出現(xiàn)的iml和idea文件問題

    IDEA生成項(xiàng)目后出現(xiàn)的iml和idea文件問題

    這篇文章主要介紹了IDEA生成項(xiàng)目后出現(xiàn)的iml和idea文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • springboot?集成activemq項(xiàng)目配置方法

    springboot?集成activemq項(xiàng)目配置方法

    這篇文章主要介紹了springboot?集成activemq項(xiàng)目配置方法,e-car項(xiàng)目配置通過引入activemq依賴,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Spring Boot實(shí)戰(zhàn)教程之自動(dòng)配置詳解

    Spring Boot實(shí)戰(zhàn)教程之自動(dòng)配置詳解

    Spring Boot的自動(dòng)配置給開發(fā)者帶來了很大的便利,當(dāng)開發(fā)人員在pom文件中添加starter依賴后,maven或者gradle會(huì)自動(dòng)下載很多jar包到classpath中。下面這篇文章主要給大家介紹了關(guān)于Spring Boot自動(dòng)配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化

    Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化

    Synchronized是Java中解決并發(fā)問題的一種最常用的方法,也是最簡單的一種方法,下面這篇文章主要給大家介紹了關(guān)于Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-02-02

最新評(píng)論