我试图弄清楚如何将属性文件的值放入我的 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 以便在我的道具中设置的变量在环境中可用?此外,我怎样才能将这些值注入到我的 bean 中而不必明确地说“environmentInstance.getProperty(”myProps.value”)?