概要
- Spring Boot の application.properties に環境変数をセットする例を示す
動作確認環境
- macOS Catalina + Java 11 (AdoptOpenJDK 11.0.10+9) + Spring Boot 2.4.2 + bash or zsh
環境変数をセット可能な application.properties の例
左側にプロパティのキー、右側にプロパティの値を記述する。
環境変数をセットしたいプロパティの場合は、右側に ${環境変数名} または ${環境変数名:デフォルト値} のフォーマットで記述する。
sample.first=XXXXXXXX
sample.second=${UPPER_UNDERLINE_CASE:XXXXXXXX}
sample.third=${lower.dot.case:XXXXXXXX}
環境変数をセットして Spring Boot を起動するコマンド例
環境変数 UPPER_UNDERLINE_CASE に "Hello, World" をセットして Spring Boot を起動する例。
$ UPPER_UNDERLINE_CASE="Hello, World" java -jar sample.jar
環境変数 lower.dot.case に "Hello, World" をセットして Spring Boot を起動する例。
$ env lower.dot.case="Hello, World" java -jar sample.jar
環境変数 UPPER_UNDERLINE_CASE に "Hello, World" をセットして Spring Boot を起動する例。
$ export UPPER_UNDERLINE_CASE="Hello, World"
$ java -jar sample.jar
環境変数 SAMPLE_FIRST に "Hello, World" をセットして Spring Boot を起動する例。
Spring Boot の Relaxed Binding 機能 (緩いバインディング) により SAMPLE_FIRST という環境変数で sample.first プロパティの値をセットできる。
$ SAMPLE_FIRST="Hello, World" java -jar sample.jar
環境変数ではないが、プロパティ sample.first に "Hello, World" をセットして Spring Boot を起動する例。
プロパティ名の前にハイフン2つを付ける。
$ java -jar sample.jar --sample.first="Hello, World"
参考資料
- application.propertiesの設定を環境変数を用いてlocal起動とDocker起動で切り替える - Qiita
- SpringBootのapplication.properties内で環境変数を使う - Qiita
- 【 env 】コマンド――環境変数を指定してコマンドを実行する:Linux基本コマンドTips(175) - @IT
- 【 export 】コマンド――環境変数やシェル変数を設定する:Linux基本コマンドTips(174) - @IT
- 2.7.6. 緩いバインディング - Spring Boot の機能 - リファレンスドキュメント
- 2.1. コマンドラインプロパティへのアクセス - Spring Boot の機能 - リファレンスドキュメント