我正在尝试通过调用使用另一个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>
答案 0 :(得分:1)
试试这个
<property name="URL" value="#{decoder.do('${application.dbUrl}')}" />
注意${..}
,它将指示SpEL解析器将其作为属性进行查找,而不是将其视为纯字符串值。
如果需要更多信息,请在评论中告知。