私のプロジェクトでは、環境固有のプロパティ ファイルを使用したいと考えています。たとえば、開発で実行している場合は application.dev.properties を使用し、本番環境では application.prod.properties などを使用する必要があります。
リソース フォルダーに以下の 2 つのファイルがあります。
- application.properties (本番用)
- application.dev.properties (開発用)
各ファイルに以下のようなプロパティが 1 つあります。
製品用
server.database.host=192.168.1.1
開発者向け
server.database.host=192.168.12.125
そして、私は以下のようなクラスを持っています
public class DataSource {
@Value(${server.database.host})
String host;
上記のコードは、dev のような適切な引数を指定しても、常に prod 設定 (application.properties) ファイルを使用します。--spring.profiles.active=dev
以下は、dev プロパティ ファイルをロードするために使用しているコマンドです。
java -jar myjar.jar --spring.profiles.active=dev
また、アクティブなプロファイルが dev であることも出力しますが、常に prod db に接続します。