環境ごとに異なる設定値をapplication.confに設けます。
OSの環境変数設定
~/.bash_profile
とかに、
export SECRET_KEY="****"
と記述しておく。source ~/.bash_profile
しておこう。
application.confの記述
環境変数は${?varName}
で読み込めます。envval
の部分は分かり易い識別子を自由に記述してよい。
envval.secret_key = ${?SECRET_KEY}
システムからConfigurationを参照する
ConfigurationインスタンスはDIコンテナに登録済みなので以下のように注入できる。(逆に注入せずコード側でインスタンスを生成する方法が知りたい(^_^;))
class HomeController @Inject() (controllerComponents: ControllerComponents, config: Configuration) extends AbstractController(controllerComponents) { val secretKey = configuration.get[String]("envval.secret_key") ... }
get
メソッドでapplication.confに定義した変数名のリテラルを指定すると設定値が参照できます。
リンク
リンク