2016-01-18 29 views
11

私はSpringアプリケーションを持っており、サーバーをデバッグしているか、サーバーが稼働中であるかによって構成を切り替えることができます。 (構成の違いはデータベースの場所などです)Springは本番用に1つのapplication.propertiesを使用し、もう1つはデバッグ用に使用します。

理想的には、起動時にSpringアプリケーションにコマンドライン引数を渡してアプリケーション構成を設定したいと考えています。

私は2つの別個のapplication.propertiesファイルを用意しています.1つはプロダクション値、もう1つはデバッグ値です。どのように私はそれらの2つの間で切り替えることができますか?

+1

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files – user3707125

答えて

21

application-dev.properties,application-prod.propertiesおよびapplication.propertiesの3つのプロパティファイルを使用できます。そして、あなたはファイルあなたPRODに

をすべてプロパティファイルをあなたのdevに現像性と生産cionfigurationプロパティを指定し、

spring.profiles.active=dev 

か以下のように自分のapplication.propertiesファイルにプロファイルを指定することができますコマンドラインで-Dprofile=引数を使用してプロファイルを選択/上書きできます。

+0

これは私が必要なものです!私がドキュメンテーションを見て、@configurationクラスで迷ってしまった。簡単な答えがあることを見てうれしいです。 – Prichmp

+0

春の起動が必要ですか? – Jaskey

+0

スプリングブートを実行するには、プロパティファイルは必要ありません。しかし、もしそれがチェックされ、クラスのパスからそれを取得します。この方法では、異なるプロファイルで異なる構成を持つことができます –

3

春のプロファイルが行く方法があります。 -Dprofile =のようなものでアプリケーションを起動することができます。 this exampleをご覧ください。

EDIT:あなたの質問を再読み込みした後、実際にはより基本的なものがほしいかもしれないという結論に至りました。アプリケーションに応じて、プロパティコンフィグレータの@Valueを使用することができます。春の文書を見てください。

関連する問題