こんにちは、さるまりんです。
以前、Springの@ValueアノテーションでDate型の値を設定する方法を書きました。
今回は数値の計算式です。
例えば3日を秒で表したい時
3(日) × 24(時間) × 60(分) × 60(秒)
と計算すると思います。
PHPだと設定で連想配列を使うことが多いと思いますが、その中で
// 有効期限 (秒) = 3日
'expiration' => 3 * 24 * 60 * 60
のように、書くことができます。
これをSpringのプロパティファイルでやりたい。
これを実現するにはDate
の時と同じようにSpring Expression Language(SpEL式)を使います。
変数宣言部分は次の通りです。
@Value("#{${expiration}}")
private int expiration;
設定ファイルapplication.properties
には以下のように記述しています。
# 有効期限 (秒)
expiration=3 * 24 * 60 * 60
設定ファイル内のexpiration
で設定された文字列"3 * 24 * 60 * 60"
を計算した値259,200
が変数expiration
に設定されます。
設定された値を
System.out.println("expiration is set to " + expiration + " seconds");
で出力すると↓です。
expiration is set to 259200 seconds
これで設定ファイルが少し読みやすくなるかな。
読んでくださってありがとうございました。
それではまた!