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

How to pass UniqueID as constructor args to a spring bean

我是 spring 的新手。我有一个 bean class,它的构造函数只有一个参数,一个 uniqueId。

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

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

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

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

这行不通。我的其他选择是什么? 我也在 Whosebug 上的另一个 post 中看到过这样的例子。<constructor-arg value="uniqueId"/> 但是对于 me.Is 没有任何简单的方法可以做到这一点。 任何帮助表示赞赏。

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

bean 定义应该如下所示

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