@Autowired和PropertyPlaceholder

时间:2010-01-19 14:53:42

标签: java spring

是否可以通过@Autowired将PropertyPlaceholder中的属性添加到bean中?我无法在xml-context-config中注入它,因为bean以这种方式加载:

<context:component-scan base-package="..."/>

2 个答案:

答案 0 :(得分:9)

在春季3.0(我认为来自里程碑3)你可以使用@Value(“$ {foo.bar}”)来访问PropertyPlaceholder的属性。

答案 1 :(得分:6)

Spring 2.5方法:

@Component
public class Foo {
    @Autowired 
    @Qualifier("myFlag")
    private Boolean flag;
    /* ... */
}

和上下文

<context:component-scan base-package="..."/>
<context:property-placeholder location="classpath:app.properties"/>
<!-- the flag bean -->
<bean id="myFlag" class="java.lang.Boolean">
    <constructor-arg value="${foo.bar}"/>
</bean>

干杯