当我@Value
的属性源是PropertyPlaceholderConfigurer
. 有人知道怎么做吗 ?
问问题
11477 次
3 回答
15
老问题,但仍然值得回答。您可以像使用原始PropertyPlaceholderConfigurer
.
应用程序属性
app.value=Injected
应用程序上下文.xml
<bean id="propertyConfigurer" class="MyPropertyPlaceholderConfigurer">
<property name="location">
<value>file:app.properties</value>
</property>
</bean>
在目标 bean 中
@Value(value="${app.value}")
private String injected;
使用 Spring 3.0.6 测试了这种方法
于 2011-10-27T10:05:29.553 回答
0
您是否设法通过使用属性语法从 bean 定义文件中显式注入值来使其工作?理论上,如果这样可行,那么您应该能够在 中使用相同的表达式@Value
。就此而言,您应该也可以@Autowired @Qualifier
使用
于 2009-11-16T16:40:47.907 回答
0
我认为不可能访问通过在注释PropertyPlaceHolderConfigurer
中使用 SPEL加载的属性。@Value
这会很棒,但据我所知,下一个最好的事情是声明:
<util:properties id="props" location="classpath:xxx/yyy/app.props"/>
它可以指向与您的PropertyPlaceHolderConfigurer
.
于 2011-03-18T23:34:07.157 回答