SpringbootIdeaの開発と本番環境の構成とパッケージングのテスト

私たちのプロジェクトには、開発環境、本番環境、およびさまざまな環境でさまざまな構成があります。たとえば、サービスポートへのアクセス、データベース構成など。環境やリリースを切り替えるたびにこれらの構成値を変更すると、面倒なだけでなく、間違いを犯しやすくなります。
私は何をすべきか?
さまざまな環境でさまざまな構成をロードできますか?

解決:

方法1:複数の構成ファイルを追加し、さまざまな環境でさまざまな構成を読み取ります

1.環境に応じて、次の図に示すように、さまざまな構成ファイルを追加します。

ここに画像の説明を挿入
特定の構成コンテンツはapplication.ymlに似ており、さまざまな環境に応じて、さまざまなサーバー、ポートなどをセットアップします。

2. application.ymlのコンテンツを削除し、環境構成を追加します

spring:
  profiles:
    active: dev

このように、環境とパッケージを切り替えるときは、application.ymlを変更するだけで済みます。

ただし、application.ymlを変更する必要があるたびに、それでも少し面倒です。次の高度なバージョンで対処できます。

方法2:プロファイルを介して環境を動的に構成する

1.環境に応じて、次の図に示すように、さまざまな構成ファイルを追加します。
ここに画像の説明を挿入

2. pom.xmlを変更し、構成環境プロファイルを設定します(マルチモジュールプロジェクトの場合は、起動モジュールのpomで変更します)。これはbulidと同じです。

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <!-- 环境标识,需要与配置文件的名称相对应 -->
                <activatedProperties>dev</activatedProperties>
            </properties>
            <activation>
                <!-- 默认环境 -->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <activatedProperties>test</activatedProperties>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <activatedProperties>prod</activatedProperties>
            </properties>
        </profile>
    </profiles>

3. application.ymlのコンテンツを設定し、起動環境を動的に指定します

spring:
  profiles:
    active: @activatedProperties@

注:@ activateProperties @は、profile => properties => activatePropertiesノードと一致している必要があります

4.スタートアップ環境を選択します

ここに画像の説明を挿入
5.環境パッケージを指定します

コマンドを使用してパッケージ化するパッケージング環境を指定します

clean package -P prod

パッケージ化後、target \ classesのapplication.ymlが指定された環境であるかどうかを確認できます

spring:
  profiles:
    active: prod

おすすめ

転載: blog.csdn.net/weixin_41003771/article/details/115114750