ホームページ > データベース > mysql チュートリアル > 環境変数を使用して、異なる環境で Spring Boot アプリケーションを構成するにはどうすればよいですか?

環境変数を使用して、異なる環境で Spring Boot アプリケーションを構成するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-09 16:00:21
オリジナル
958 人が閲覧しました

How Can I Use Environment Variables to Configure My Spring Boot Application in Different Environments?

Spring Boot の application.properties での環境変数の使用

Background

Spring Boot では、application.properties ファイルにアプリケーションの構成設定が含まれています。アプリケーションが異なる環境 (ローカル、Jenkins、OpenShift) で実行される場合、多くの場合、これらの設定を動的に調整することが望まれます。これを実現する 1 つのアプローチは、環境変数を使用することです。

環境変数の設定

環境変数を設定するには、ローカルおよび Jenkins VM でシステム環境変数を作成します。これらの変数の名前と値が 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"
ログイン後にコピー

application.properties での環境変数の使用

application.properties で環境変数を使用するには、構文 ${VARIABLE_NAME} を使用して環境変数を含めます。例:

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}
ログイン後にコピー

注: Spring Environment オブジェクトを使用して環境変数を作成することもできますが、@Stefan Isele が提案しているように、application.properties で直接変数置換を使用することは困難です。より単純なアプローチ。

Spring プロファイルの使用

環境を使用する代替方法変数は Spring プロファイルを使用することです。このアプローチでは、それぞれが特定の環境に合わせて調整された複数の application.properties ファイルを作成できます。 Spring は、 spring.profiles.active プロパティの値に基づいて適切なファイルを自動的にロードします。このプロパティは、環境変数として、またはコマンドライン引数を通じて設定できます。たとえば、application-local.properties、application-jenkins.properties、および application-openshift.properties ファイルを作成できます。この場合、OpenShift にデプロイするときに OPENSHIFT_MYSQL_DB_HOST 変数と spring.profiles.active=openshift を設定します。

プロファイルを使用すると、環境変数内のデータベース認証情報やその他の機密情報がそのまま公開されることを回避できます。アクティブなプロファイルを構成するためにのみ使用されます。

以上が環境変数を使用して、異なる環境で Spring Boot アプリケーションを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート