gpt4 book ai didi

spring - 使用带有来自 Spring 的可变参数的 FactoryMethod 创建 Spring Bean?

转载 作者:行者123 更新时间:2023-12-02 03:18:44 25 4
gpt4 key购买 nike

我们如何使用带有可变参数的FactoryMethod创建一个bean。

 public class ConnectionFactoryClass {

public static Connection composeConnection(final Property... properties) {
...
}
}

bean.xml

  <bean id="Connection"
class="com.example.ConnectionFactoryClass"
factory-method="composeConnection"
scope="singleton">
<constructor-arg ref="Driver"/>
<constructor-arg ref="Pool"/>
</bean>

Spring 给我一个错误,说:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'Connection' defined in file [./beans.xml]: No matching factory method found: factory method 'composeConnection'

最佳答案

尝试以下操作:

<bean id="Connection"
class="com.example.ConnectionFactoryClass"
factory-method="composeConnection"
scope="singleton">
<constructor-arg>
<array>
<bean ref="Driver" />
<bean ref="Pool" />
</array>
</constructor-arg>
</bean>

我认为您遇到了问题,因为 JVM 将 var arg params 转换为对象数组,并且您需要将单个参数传递给构造函数(即对象数组)。我还没有尝试过上面的 xml,所以里面可能有拼写错误,但是类似上面的东西应该可以工作。

关于spring - 使用带有来自 Spring 的可变参数的 FactoryMethod 创建 Spring Bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9323388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com