Bean属性init。从带有property参数的方法调用

时间:2017-03-23 11:07:01

标签: spring

我正在尝试通过调用使用另一个Property作为参数的方法来初始化Bean的属性。

<context:property-placeholder location="classpath:application.properties" />
<bean id="decoder" class="foo.Decoder" />
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
    <!-- Here I'm trying to call the do() method on a Decoder instance -->
    <!-- The application.dbUrl is defined in application.properties file -->
    <!-- ... can't find the right syntax. If any. Thanks! -->
    <property name="URL" value="#{decoder.do(application.dbUrl)}" />
</bean>

1 个答案:

答案 0 :(得分:1)

试试这个

<property name="URL" value="#{decoder.do('${application.dbUrl}')}" />

注意${..},它将指示SpEL解析器将其作为属性进行查找,而不是将其视为纯字符串值。

如果需要更多信息,请在评论中告知。