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

Spring如何配置文件動態(tài)讀取pom.xml中的屬性

 更新時間:2024年10月24日 14:19:39   作者:知楠行易  
在項目開發(fā)中,經(jīng)常需要將pom.xml中的屬性動態(tài)傳遞給Spring配置文件,實現(xiàn)這一需求,可通過Maven的資源過濾功能,配置占位符替換,具體方法包括:在pom.xml中啟用filtering,然后在Spring配置文件中通過${property}方式引用屬性

Spring配置文件動態(tài)讀取pom.xml屬性

需求:

配置文件中的

spring.profiles.active=${env}

需要打包時動態(tài)綁定。

方案

1.在pom.xml文件中配置啟用占位符替換

 <profiles>
        <!-- 本地開發(fā) -->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!-- 其他環(huán)境 -->
 </profiles>
 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
</build>
  • Maven 中 <filtering> 的默認(rèn)值是 false。
  • 這意味著在復(fù)制資源文件時,Maven 不會對文件進(jìn)行占位符替換(即過濾)。

2.在配置文件中配置 spring.profiles.active=@env@或者 spring.profiles.active=${env}

3.打包時選擇環(huán)境 mvn clean package -Pprod

  • -P 參數(shù)用于激活 Maven 構(gòu)建中的特定配置文件(profile)

自定義占位符

如果擔(dān)心沖突,那么可以自定義占位符。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <delimiters>
                    <delimiter>#{</delimiter>
                    <delimiter>}</delimiter>
                </delimiters>
                <useDefaultDelimiters>false</useDefaultDelimiters>
            </configuration>
   		</plugin>
    </plugins>
</build>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java反射技術(shù)詳解及實例解析

    Java反射技術(shù)詳解及實例解析

    這篇文章主要介紹了Java反射技術(shù)詳解及實例解析,反射可以說是Java中最強大的技術(shù)了,它可以做的事情太多太多,很多優(yōu)秀的開源框架都是通過反射完成的。如果對JAVA感興趣來可以學(xué)習(xí)一下
    2020-07-07
  • Java 線程池_動力節(jié)點Java學(xué)院整理

    Java 線程池_動力節(jié)點Java學(xué)院整理

    系統(tǒng)啟動一個新線程的成本是比較高的,因為它涉及到與操作系統(tǒng)的交互。在這種情況下,使用線程池可以很好的提供性能,尤其是當(dāng)程序中需要創(chuàng)建大量生存期很短暫的線程時,更應(yīng)該考慮使用線程池
    2017-05-05
  • Spring @Bean注解的使用場景與案例實現(xiàn)

    Spring @Bean注解的使用場景與案例實現(xiàn)

    隨著SpringBoot的流行,我們現(xiàn)在更多采用基于注解式的配置從而替換掉了基于XML的配置,所以本篇文章我們主要探討基于注解的@Bean以及和其他注解的使用
    2023-03-03
  • nacos服務(wù)注冊命名空間指定方式

    nacos服務(wù)注冊命名空間指定方式

    文章介紹了Nacos服務(wù)注冊命名空間的用途,以及如何創(chuàng)建和指定命名空間,命名空間用于隔離不同項目的服務(wù)和配置,避免沖突,通過在配置文件中指定命名空間ID,服務(wù)會注冊到相應(yīng)的命名空間中,這樣可以更好地管理不同環(huán)境下的配置文件
    2024-12-12
  • SpringBoot實現(xiàn)token登錄的示例代碼

    SpringBoot實現(xiàn)token登錄的示例代碼

    在進(jìn)行登錄驗證時,我們需要session或cookie會話進(jìn)行驗證,當(dāng)我們脫離瀏覽器用app等向服務(wù)端發(fā)請求就沒有session和cookie機制,這時我們就需要使用token令牌進(jìn)行登錄驗證,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2022-03-03
  • Java斗地主發(fā)牌課程設(shè)計

    Java斗地主發(fā)牌課程設(shè)計

    這篇文章主要為大家詳細(xì)介紹了Java斗地主發(fā)牌課程設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 連續(xù)調(diào)用多個外部系統(tǒng)寫接口保證數(shù)據(jù)一致性的思路

    連續(xù)調(diào)用多個外部系統(tǒng)寫接口保證數(shù)據(jù)一致性的思路

    今天小編就為大家分享一篇關(guān)于連續(xù)調(diào)用多個外部系統(tǒng)寫接口保證數(shù)據(jù)一致性的思路,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼

    Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼

    《飛機大戰(zhàn)-I》是一款融合了街機、競技等多種元素的經(jīng)典射擊手游。本文將利用java語言實現(xiàn)這游戲,文中采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下
    2022-02-02
  • @MapperScan注解與@Mapper注解的使用

    @MapperScan注解與@Mapper注解的使用

    這篇文章主要介紹了@MapperScan注解與@Mapper注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java對象初始化順序驗證示例

    java對象初始化順序驗證示例

    以下這段小程序?qū)φ{(diào)用對象構(gòu)造函數(shù)時,父類構(gòu)造函數(shù)、成員變量初始化函數(shù),以及非靜態(tài)初始化塊調(diào)用順序進(jìn)行驗證,不考慮靜態(tài)成員及靜態(tài)初始化塊
    2014-02-02

最新評論