如何将UniqueID作为构造函数args传递给spring bean

时间:2017-02-08 06:11:20

标签: java spring spring-mvc uuid

我是春天的新手。我有一个bean类,其构造函数具有单个参数,uniqueId。

void Sample(String uniqueId){
      this.uniqueId = uniqueId;
}

bean没有任何默认构造函数。 我需要这个id用于某些商务逻辑。 这个uniqueID需要是UUID.randomUUID()。toString()。

如何从bean配置xml传递给bean。

<bean id="Sample" class="com.scribe.dao.Sample">
     <constructor-arg  value="UUID.randomUUID().toString()"/>               
</bean>

这不起作用。我还有什么其他选择? 我还在stackoverflow的另一篇文章中看到过这样的示例。<constructor-arg value="uniqueId"/> 但同样的事情对我没有用。有任何简单的方法可以做到这一点。 任何帮助表示感谢。

1 个答案:

答案 0 :(得分:7)

您需要使用弹簧表达语言(SpEL),如图所示here

bean定义应如下所示

<bean id="Sample" class="com.scribe.dao.Sample">
    <constructor-arg  value="#{ T(java.util.UUID).randomUUID().toString() }"/>               
</bean>