2017-05-31 23 views
0

異なるapplication.propertiesの環境変数に1か所からアクセスすることは可能ですか?実際には、ユーザー資産などのさまざまなプロジェクトに対して異なるapplication.propertiesを持つこのソフトウェアを構築しています。したがって、すべての環境変数を1つの外部場所に持つことが可能です。はいの場合、どのようにアクセスされますか?スプリングブート時に外部から環境変数にアクセスする方法は?

+1

を見application.properitesかを指定します。それ以外の場合は、より正確な質問が必要です。 – Patrick

答えて

0

環境変数の場合、複数のアプリケーションが同じ変数にアクセスできると思います。

しかし、内部にapplication.propertiesファイルがある場合は、それは不可能だと思います。

それだけでなく、あるアプリケーションが別のアプリケーションのapplication.propertiesにアクセスする必要があると感じる場合、これは正しい方法ではないと思います。

(おそらくspring-cloud-configのような設定サーバを使って)設定を外部化し、アプリケーション間で共通のプロパティを共有する必要があります。

1

どのような状況でも決して変化しない変数を定義するapplication.propertiesファイルがあります。

application.properties

server.error.whitelabel.enabled=true #Just an example 

次に、あなたは、このようなapplication-active.propertiesとして別の名前で別のapplication.propertiesを持つことができます。このファイルはベースに追加されますapplication.propertiesファイル。

application-active.properties

example.enviroment.variable=${I_AM_AN_ENVIROMENT_VARIABLE} 

次に、あなたは、この場合example.enviroment.variableには、同じプロパティ名を持つ別のapplication.propertiesファイルを持つことができます。

application-dev.properties

example.enviroment.variable=${I_AM_A_DIFFERENT_ENVIRONMENT_VARIABLE} 

は、次に、あなたのコードでは、あなただけの現在のプロファイルに応じexample.enviroment.variableプロパティを取得する必要がありますし、それが正しい環境変数をつかむでしょう。

あなたは春・クラウド設定でそれを行うことができ、複数のアプリケーションについて話す場合using profiles in spring-boot.

関連する問題