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

SpringBoot之如何指定配置文件啟動

 更新時間:2023年04月26日 10:23:17   作者:luffylv  
這篇文章主要介紹了SpringBoot之如何指定配置文件啟動問題,具有很好的參考價值,希望對大家有所幫助。

一、問題描述

上周不是搭了個SpringBoot整合sharding-jdbc分庫分表的架子么,組里老哥不讓我把開發(fā)環(huán)境的配置文件放到resource根目錄下。

要放到類似config/local/dev目錄下。

如下圖:

解決該問題時還是遇到了一些問題的,記錄如下。

二、 SpringBoot如何指定配置文件啟動

SpringBoot項目可以配置多個配置文件,項目在不同的環(huán)境運行時可以指定其對應(yīng)的配置文件。

現(xiàn)以dev、beta兩個環(huán)境為例,具體步驟如下:

1、pom.xml中配置

在項目的根pom.xml文件中添加以下配置

    <profiles>
        <!-- dev環(huán)境 -->
        <profile>
            <id>local-dev</id>
            <properties>
                <env>dev</env>
            </properties>
        </profile>
        <!-- beta環(huán)境 -->
        <profile>
            <id>local-beta</id>
            <properties>
                <env>beta</env>
            </properties>
        </profile>

添加完后可以在右側(cè)Maven Projects->Profiles中看到新加的配置,如下圖:

local-nexus是新建項目時就有的。

2、配置配置文件

2.1、配置application.properties

根application.properties配置文件中可以配置所有環(huán)境共用的一些配置,其配置如下:

其中spring.profiles.active是指定使用哪個配置文件,@evn@是使用maven的變量,即取上一步中配置的<env>的值。此處不配置服務(wù)端口,默認(rèn)是8080。

2.2、配置beta環(huán)境的配置文件

文件名為application-XXX.properties。此處XXX必須為1中配置的beta環(huán)境的<env>的值,否則該配置文件不生效。

application-beta.properties是beta環(huán)境的配置文件,配置如下圖。

2.3、配置開發(fā)環(huán)境的配置文件

文件名為application-XXX.properties。此處XXX必須為1中配置的dev環(huán)境的<env>的值,否則該配置文件不生效。

application-dev.properties是dev環(huán)境的配置文件,配置如下圖。

3、驗證

3.1指定beta配置文件啟動

若指定beta配置文件啟動,則服務(wù)端口應(yīng)該是8082。

選擇beta啟動。

查看日志,服務(wù)確實啟用了8082端口,說明使用的是application-beta.properties配置文件。

3.2指定dev配置文件啟動

若指定dev配置文件啟動,則服務(wù)端口應(yīng)該是8083。

選擇dev啟動。

查看日志,服務(wù)確實啟用了8083端口,說明使用的是application-dev.properties配置文件。

三、分析問題

好了,現(xiàn)在該解決剛開始的問題了。但是該問題還真不能完全只通過二中描述的方式解決。可以試下,其他配置不變,把application-dev.properties放到classpath:config/local/dev目錄下,啟動項目。

查看日志,服務(wù)啟用的是8080端口,說明application-dev.properties配置文件沒有生效。

為啥沒生效呢?

因為SpringBoot項目的配置文件默認(rèn)情況下只有放在以下四個位置才生效。

  • 項目根目錄
  • 項目根目錄/config目錄
  • resources目錄
  • resources/config

且優(yōu)先級是:2>1>4>3。

那么如何使除上面四個位置下的指定位置的配置文件生效呢?具體操作如下。

四、解決問題

4.1、修改pom.xml文件

pom.xml文件添加如下配置,指定配置文件所在路徑。

4.2、 修改根配置文件

根配置文件中獲取maven變量config.path。

4.3、配置類

配置配置類并指定外部配置文件,指定項目啟動時加載config.path路徑下的配置文件

package com.luffylv.shardingspherespringbootdemo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource(value = "${config.path}/application-dev.properties")
public class EnvLoadConfig {
}

啟動項目測試下效果,可以看到config/local/dev下的配置文件生效了。

總結(jié)

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

相關(guān)文章

  • JAVA SE包裝類和泛型詳細(xì)介紹及說明方法

    JAVA SE包裝類和泛型詳細(xì)介紹及說明方法

    這篇文章主要介紹了JAVA SE包裝類和泛型的相關(guān)資料,包括基本數(shù)據(jù)類型與包裝類的對應(yīng)關(guān)系,以及裝箱和拆箱的概念,并重點講解了自動裝箱和自動拆箱的機制,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 淺談Spring Data JPA與MyBatisPlus的比較

    淺談Spring Data JPA與MyBatisPlus的比較

    本文主要介紹了淺談Spring Data JPA 與 MyBatisPlus的比較
    2024-08-08
  • JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié)

    這篇文章主要介紹了JUnit測試控制@Test執(zhí)行順序的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 排查Failed?to?validate?connection?com.mysql.cj.jdbc.ConnectionImpl

    排查Failed?to?validate?connection?com.mysql.cj.jdbc.Connec

    這篇文章主要介紹了Failed?to?validate?connection?com.mysql.cj.jdbc.ConnectionImpl問題排查,具有很好的參考價值,希望對大家有所幫助
    2023-02-02
  • 簡介Java編程中的Object類

    簡介Java編程中的Object類

    這篇文章主要介紹了簡介Java編程中的Object類,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • java對象和json的來回轉(zhuǎn)換知識點總結(jié)

    java對象和json的來回轉(zhuǎn)換知識點總結(jié)

    在本篇文章里小編給大家分享了一篇關(guān)于java對象和json的來回轉(zhuǎn)換知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • Java實現(xiàn)短信發(fā)送驗證碼功能

    Java實現(xiàn)短信發(fā)送驗證碼功能

    這篇文章主要介紹了Java實現(xiàn)短信發(fā)送驗證碼功能,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10
  • MyBatis二級緩存實現(xiàn)關(guān)聯(lián)刷新

    MyBatis二級緩存實現(xiàn)關(guān)聯(lián)刷新

    本文主要介紹了MyBatis二級緩存實現(xiàn)關(guān)聯(lián)刷新,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java+OpenCV實現(xiàn)人臉檢測并自動拍照

    Java+OpenCV實現(xiàn)人臉檢測并自動拍照

    這篇文章主要為大家詳細(xì)介紹了Java+OpenCV實現(xiàn)人臉檢測,并調(diào)用筆記本攝像頭實時抓拍,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 深入談?wù)刯ava的枚舉(enum)類型

    深入談?wù)刯ava的枚舉(enum)類型

    這篇文章介紹的是java中的枚舉類型,對于枚舉類型的相關(guān)知識,我們也介紹過不少方面的內(nèi)容。希望本文能夠給你帶來幫助,下面來一起看看,有需要的可以參考借鑒。
    2016-09-09

最新評論

社旗县| 兴化市| 资阳市| 长春市| 正安县| 壤塘县| 大丰市| 台山市| 历史| 库车县| 三河市| 井陉县| 奎屯市| 德令哈市| 涟源市| 日土县| 昭觉县| 巢湖市| 凌云县| 隆回县| 湘潭县| 海伦市| 稻城县| 白城市| 丹棱县| 云南省| 调兵山市| 海阳市| 德钦县| 牟定县| 政和县| 巴东县| 重庆市| 双江| 宁远县| 贵州省| 凌云县| 德阳市| 涞水县| 横峰县| 河北区|