プロパティ ファイルの値を Spring Environment プロパティに取得する方法を見つけようとしています。
これを行う Spring 3.1 以前の方法は次のようになります。
<context:property-placeholder location="classpath:my.properties" />
<bean id="myBean" class="com.whatever.MyBean">
<property name="someValue" value="${myProps.value}" />
<!-- etc -->
</bean>
私はこれを行うこともできました:
public class MyBean {
@Value(value = "#{myProps.value}")
private String someValue;
}
表向きは Environment クラスからプロパティを取得できるようになったので、これは、xml または Bean 自体で不格好な #{myProps.value} 構文を使用するよりも、プロパティを取得するためのはるかにクリーンな方法のように思えます。
XMLでこれを試しました:
<bean
class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="location">
<value>classpath:my.properties</value>
</property>
</bean>
ただし、プロパティは環境に追加されません。
PropertySource属性を使用できることは理解していますが、注釈を使用して構成を行っていません。
では、小道具で設定された変数が環境で使用できるように、Bean / xml を設定するにはどうすればよいですか? さらに、「environmentInstance.getProperty("myProps.value")」と明示的に言わなくても、どうすればこれらの値を Bean に注入できますか?