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

SpringBoot使用PropertiesLauncher加載外部jar包

 更新時間:2023年07月31日 10:56:07   作者:brucelwl  
這篇文章主要介紹了SpringBoot使用PropertiesLauncher加載外部jar包,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

啟用SpringBoot的PropertiesLauncher

使用SpringBoot的PropertiesLauncher可以優(yōu)先加載外部的jar文件, 這樣可以在程序運行前替換jar包,

官方文檔: Launching Executable Jars

使用演示

建立一個SpringBoot工程, 工程中依賴一個叫自定義的utils包, 版本是1.0.0, 通過http接口返回utils版本, 正常打包后訪問, 返回1.0.0版本

@Slf4j
@RestController
public class HelloController {
    @RequestMapping("/version")
    public String version() {
        String version = VersionUtil.getVersion();
        log.info("請求version: " + version);
        return VersionUtil.getVersion();
    }
    @RequestMapping("spi-version")
    public Object spiVersion() {
        ArrayList<String> objects = new ArrayList<>();
        ServiceLoader<AgentInterface> load = ServiceLoader.load(AgentInterface.class);
        for (AgentInterface registry : load) {
            objects.add(registry.hello());
        }
        return objects;
    }
    @RequestMapping("/spring-res")
    public Object springRes() throws IOException {
        ArrayList<String> objects = new ArrayList<>();
        PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver = new PathMatchingResourcePatternResolver();
        Resource[] resources = pathMatchingResourcePatternResolver.getResources("classpath*:META-INF/services/com.example.utils.AgentInterface");
        for (Resource resource : resources) {
            objects.add(resource.toString());
        }
        return objects;
    }
}

2.在啟用應用程序時通過-Dloader.path=/libs指定外部jar的目錄, 再啟動, 訪問接口返回2.0.0版本, 說明包替換成功

指定PropertiesLauncher啟動類執(zhí)行

java -cp demo1-0.0.1-SNAPSHOT.jar org.springframework.boot.loader.PropertiesLauncher

在這里插入圖片描述

java -cp demo1-0.0.1-SNAPSHOT.jar -Dloader.path=/Users/admin/.m2/repository/com/example/utils/2.0.0/ org.springframework.boot.loader.PropertiesLauncher

在這里插入圖片描述

訪問java spi

可以正常只加載2.0.0版本中的實現(xiàn)類, 這個符合預期

在這里插入圖片描述

訪問資源文件

訪問資源文件, 會發(fā)現(xiàn)本應只從2.0.0版本中加載文件, 結果1.0.0版本中的也被加載了

在這里插入圖片描述

到此這篇關于SpringBoot使用PropertiesLauncher加載外部jar包的文章就介紹到這了,更多相關SpringBoot加載外部jar包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java多維數(shù)組詳解

    Java多維數(shù)組詳解

    大家好,本篇文章主要講的是Java多維數(shù)組詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 簡單了解java自定義和自然排序

    簡單了解java自定義和自然排序

    這篇文章主要介紹了簡單了解java自定義和自然排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • MAC配置java+jmeter環(huán)境變量過程解析

    MAC配置java+jmeter環(huán)境變量過程解析

    這篇文章主要介紹了MAC配置java+jmeter環(huán)境變量過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java的Object類九個方法技巧

    Java的Object類九個方法技巧

    這篇文章主要介紹了Java的Object類九個方法技巧,Java的Object?類的完整路徑是java.lang.Object?,是所有類的父類編譯,下文相關資料,需要的朋友可以參考一下
    2022-04-04
  • 解決SpringMVC @RequestMapping不設置value出現(xiàn)的問題

    解決SpringMVC @RequestMapping不設置value出現(xiàn)的問題

    這篇文章主要介紹了解決SpringMVC @RequestMapping不設置value出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 深層剖析java應用開發(fā)中MyBayis緩存

    深層剖析java應用開發(fā)中MyBayis緩存

    這篇文章主要為大家深層剖析java開發(fā)中MyBayis緩存,文中講解了Mybatis緩存的分類以及使用的方式,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • 深入淺析springsecurity入門登錄授權

    深入淺析springsecurity入門登錄授權

    SpringSecurity為我們提供了基于注解的權限控制方案,這也是我們項目中主要采用的方式,我們可以使用注解去指定訪問對應的資源所需的權限,這篇文章主要介紹了springsecurity入門登錄授權,需要的朋友可以參考下
    2024-05-05
  • Java中Static關鍵字的五種用法詳解

    Java中Static關鍵字的五種用法詳解

    這篇文章主要介紹了Java中static的五種用法:修飾成員變量,修飾成員方法,修飾內部類,靜態(tài)代碼塊,靜態(tài)導包,想詳細了解的小伙伴可以參考閱讀本文
    2023-03-03
  • SpringBoot集成分頁插件PageHelper的配置和使用過程

    SpringBoot集成分頁插件PageHelper的配置和使用過程

    這篇文章主要介紹了SpringBoot集成分頁插件PageHelper的配置和使用過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Spring Boot 自動裝配的幾種用法示例小結

    Spring Boot 自動裝配的幾種用法示例小結

    文章介紹了SpringBoot自動裝配的多種用法,包括基礎的@Bean注冊、策略模式通過applicationContext獲取指定Service實現(xiàn)類,以及高級的獲取接口所有實現(xiàn)類集合和Map映射,感興趣的朋友跟隨小編一起看看吧
    2025-07-07

最新評論

静海县| 邢台市| 卢龙县| 改则县| 天门市| 类乌齐县| 华容县| 赫章县| 荃湾区| 杭州市| 赣榆县| 金寨县| 五大连池市| 昔阳县| 龙游县| 成安县| 托克逊县| 静乐县| 黔东| 吉木萨尔县| 河津市| 弥勒县| 浦江县| 深水埗区| 定安县| 天峨县| 大石桥市| 健康| 应城市| 鹤岗市| 沁阳市| 富蕴县| 江山市| 黄石市| 新河县| 嵊泗县| 徐闻县| 南昌县| 呼图壁县| 来安县| 那坡县|