Spring Frameworkの設定ファイルと読み込み


JavaのSpring Frameworkでプロパティ(設定値)をファイルに書き込んでおいて、ControllerやServiceなどでインジェクトして使う方法を紹介します。

🐯 プロパティファイルの値をインジェクト

application.propertiesに設定したプロパティ値は`@org.springframework.beans.factory.annotation.Value`アノテーションでインジェクトできます。

プロパティファイル

application.propertiesに次の内容を記述します。

article.hoge=fuga

設定値をインジェクトする

さきほど設定したプロパティをインジェクトしてみます。

@Component
public class ArticleService {
@Value("${article.hoge}")
private String hoge;
}

🎂 プロパティをまとめて管理:@ConfigurationProperties

前述の方法では、毎回対象プロパティ名と型を指定する必要があり、何度も使いまわすのは不向きです。@ConfigurationPropertiesでプロパティ値をまとめて定義しておき、それをインジェクトして使うことができます。

Java Bean ArticlePropertiesを作成してDIコンテナに登録します。

@Getter // Lombok
@Component
@ComfigurationProperties(prefix = "article")
public class ArticleProperties {
@NotNull
private String hoge;
}

ArticlePropertiesをインジェクトして各プロパティのGetterで設定値を取得できます。

@Component
public class ArticleService {
@Autowired
private ArticleProperties articleProperties;
}

🐡 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍