ホームページ >Java >&#&チュートリアル >環境変数を使用して、異なる環境間で Spring Boot データベースの資格情報を管理するにはどうすればよいですか?

環境変数を使用して、異なる環境間で Spring Boot データベースの資格情報を管理するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-02 11:37:11362ブラウズ

How Can I Manage Spring Boot Database Credentials Across Different Environments Using Environment Variables?

Spring Boot の Application.properties での環境変数の利用

Spring Boot アプリケーションをさまざまな環境にデプロイする場合、ハードコーディングを避けることが重要ですapplication.properties のデータベース資格情報。これに対処するには、プロパティ ファイルで環境変数を動的に参照できます。

このアプローチを活用するには、次の手順に従います。

1.システム環境変数の作成

ローカルおよびその他の関連する仮想マシン上に環境変数を作成します。これらの変数に OpenShift の対応する変数と同じ名前を付け、適切な値を割り当てます:

export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost"
export OPENSHIFT_MYSQL_DB_PORT="3306"
export OPENSHIFT_MYSQL_DB_USERNAME="root"
export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"

2. application.properties での環境変数の参照

application.properties に環境変数を含めるには、次の構文を使用します。

spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB"
spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME}
spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}

3.代替アプローチ (推奨)

ただし、@Stefan Isele が提案する、より簡潔で管理しやすい解決策は、Spring プロファイルを使用することです。

  • 複数のプロファイルを作成するapplication-{profile-name}.properties.
  • という名前のプロパティ ファイル 環境を設定する変数 spring.profiles.active を目的のプロファイル (例: application-local.properties) に設定します。

Spring は、指定されたプロファイルに基づいて適切なプロパティ ファイルを自動的に読み取ります。

Byこれらの手法に従うと、application.properties に機密情報をハードコーディングすることなく、Spring Boot アプリケーションをデプロイされている環境に基づいて動的に構成できます。

以上が環境変数を使用して、異なる環境間で Spring Boot データベースの資格情報を管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。