我有一个弹簧配置文件,其条目如下...
<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}和今天的时间戳。
你有什么线索我们能做到吗?
由于
洁
答案 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>;
}
由于
洁