Spring配置查询

时间:2013-03-07 12:00:44

标签: spring

我有一个弹簧配置文件,其条目如下...

<bean id="beanId" class="a.b.c.d.MyBean">
        <property name="firstProperty" value="report_{date}.xls"/>
</bean>

在我的java代码中的某处,我将获取此bean,然后获取其属性“firstProperty”。

我有点好奇,当我得到属性“firstProperty”的值时,我得到report_.xls,即report_20130307.xls

我搜索了所有代码,包括bundle,xmls但不清楚我们在哪里设置{date}和今天的时间戳。

你有什么线索我们能做到吗?

由于

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在大多数情况下,属性值是使用表达式语言从属性文件设置的。像

<bean id="dataSource" class="a.b.c.d.DataSource">
    <property name="databaseUrl" value="{db.url}"/>
</bean>

或者,如果属性是对另一个bean的引用,例如对象B是对象A的成员变量。

<bean id="refA" class="a.b.c.d.A">
    <property name="b" ref="refB"/>
</bean>

<bean id="refB" class="a.b.c.d.B">
</bean>   

答案 2 :(得分:0)

它非常简单......我们知道每个属性都会调用setter。在我的情况下也一样, 在bean中,我们设置变量“firstProperty”+今天的时间戳,如下所示。

public void setfirstProperty(String firstProperty) {
    this.firstProperty = firstProperty + <methodToReplaceDateStringWithTimeStamp>;
}

由于