我正在使用 Spring 框架,但我不知道如何做这个简单的事情: 我想为一个 bean 提供一个字符串,该字符串是多个部分、一些固定变量和其他变量串联的结果
例如它可能是这样的:
“myReportFile_20102101_1832.txt”
- 第一部分是固定部分
- 第二部分是带有当前日期时间的时间戳
- 最后一部分是另一个固定部分
如何用最简单的方式实现?
非常感谢。
最佳答案
这听起来像是 Spring Expression Language 的工作(在 Spring 3.0 中引入)给我。虽然使用 factory bean 可能更容易对于该任务(它获取通过 IOC 注入(inject)的静态信息,并提供一个工厂方法来实例化您的其他 bean,包括计算出的动态信息)。像这样
class FileNameFactoryBean
{
private Date date = new Date();
private String prefix;
private String postfix;
public OtherBean createBean()
{
String filename = prefix + date.toString() + postfix;
return new OtherBean(filename);
}
// Getters and Setters
}
然后在你的 bean 配置中是这样的
<bean id="fileNameFactory" class="package.FileNameFactoryBean">
<property name="prefix" value="file_" />
<property name="postfix" value=".txt" />
</bean>
<bean id="otherBean" factory-bean="fileNameFactory" factory-method="createBean"/>
关于java - Spring-IoC 容器-如何在属性中使用动态值? (就像 2 个字符串的连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111437/