序文
我々は、すべてのspringbootがapplication.properties構成プロファイル(またはapplication.yml)をアンロードすることを知っています。しかし、あなたはどのようにそれを行うには、プロファイル、(このような開発環境、テスト環境、本番環境など)異なる環境を分離したい場合は?実際には、SpringBootサポートは、別のプロファイルを指定します。
SpringBoot設定ファイルの形式
スプリングブートマルチ環境設定ファイル名に用途向け{プロファイルは}フォーマット、使用環境に対応する、請求{プロファイル}識別を(必ずしもファイルの.propertiesない、ファイルが.ymlであってもよい)の.properties満たす必要があります。唯一のブート時にプロファイルの値が、カスタムの開発者は、対応するパラメータを追加し、springbootは、設定ファイルを読むために行くだろう。たとえば、我々は次のフォーマットを定義することができます。
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
あなたが設定ファイルを指定するか、対応するエントリを持っていない設定ファイルを指定していないときに起動した場合、デフォルトの設定ファイルから読み込まれます。デフォルトの設定ファイル:application.properties(またはapplication.yml)
指定された環境を開始します
私たちは、spring.profiles.activeパラメータを通じて環境を指定することができます。
2つのプロファイルがあると仮定します。
application.properties
server.port=8080
application-happy.properties
server.port=9090
私たちは、環境、ダイレクトスタートを指定しない場合、8080で起動します:
java -jar springboot-0.0.1-SNAPSHOT.jar
この方法は、指定された環境で始まります
開始するには、コマンドラインを指定します。
あなたは-Dspring.profiles.active追加することができます=
たとえば、幸せな環境を指定します。
java -jar "-Dspring.profiles.active=happy" springboot-0.0.1-SNAPSHOT.jar
デフォルトの設定ファイルの指定
application.propertiesに追加
spring.profiles.active=happy
プログラムを起動します。
IDEAで指定
次のように実行/デバッグ構成では、環境を構成することができます。
削除環境で指定Application.properties、プログラムを起動します。
プログラムは、まだ9090ポートで起動します。
読んでデフォルトの設定ファイルからの値が設定ファイルに指定されていません
假如我把happy的指定端口号去掉,留下一个空配置。为了防止Tomcat默认端口8080的情况,把默认配置文件的端口改为7777,然后启动程序:
通过日志,可以看到是读取了happy环境。
通过端口号,可以看到其读取了默认配置中的值。
总结
多套配置文件,这在实际开发中是经常用到的。根据不同的环境,配置不同的配置文件,方便开发也方便测试和部署。