Spring: Properties の値を使用する


Spring で properties に書いた値をプログラム内で使用する場合の方法です。

Spring では、 @Value を使うと properties に書いた値を使うことができるようになります。

サンプルコード

properties に書いた AWS アクセスキー の情報をプログラム内で使用できるようにします。

たとえばコントローラの中に直接書いてもいいのですが、 properties の値を受けるクラスを作り、 他のクラスから直接 properties の値を取得しなくてもいいようにします。 クラスは Kotlin で記述しています。

@Value の中には properties の中にあった設定値を記述します。 私は、ライブラリなどで使用されている値と区別するため、 独自に設定したプロパティには my で始まる名前をつけています。

この仕組みは、 production や development など、 環境を複数作った場合で、環境に応じて変更する値がある場合に使えます。

上の AwsConfig クラス には @Configuration アノテーション をつけていますが、 @Component でも大丈夫です。

Configクラスの使い方

上で例に出した AwsConfigクラスを使ったサンプルコードを記述します。

@Autowired で Spring が変数 awsConfig に Configrationクラス のインスタンスをアサインしてくれるようにします。