application.properties
から値を取得するためのいくつかの方法と、それぞれの方法のコード例を紹介します。
-
@Value
アノテーションを使用する方法:@Value
アノテーションを使用して、application.properties
から値を直接注入することができます。import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class MyComponent { @Value("${my.property}") private String myProperty; // ... public void doSomething() { System.out.println("my.propertyの値: " + myProperty); } }
上記の例では、
my.property
というキーに対応する値がapplication.properties
から取得され、myProperty
フィールドに注入されます。 -
Environment
クラスを使用する方法:Environment
クラスを使用して、application.properties
から値を取得することもできます。import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; @Component public class MyComponent { @Autowired private Environment environment; public void doSomething() { String myProperty = environment.getProperty("my.property"); System.out.println("my.propertyの値: " + myProperty); } }
上記の例では、
Environment
クラスを使用してmy.property
キーに対応する値を取得し、その値を利用しています。 -
@ConfigurationProperties
アノテーションを使用する方法:@ConfigurationProperties
アノテーションを使用して、application.properties
に定義された複数の設定値を1つのクラスにバインドすることができます。import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "my") public class MyProperties { private String property; // getterとsetter // ... public void doSomething() { System.out.println("my.propertyの値: " + property); } }
上記の例では、
prefix
属性を使用してmy
というプレフィックスを指定し、my.property
キーに対応する値をproperty
フィールドにバインドしています。その後、MyProperties
クラスを使用して値を利用できます。
これらはいくつかの一般的な方法ですが、Springでは他にもさまざまな方法があります。アプリケーションの要件や設定値の種類に応じて、最適な方法を選択することが重要です。