gpt4 book ai didi

java - 如何从枚举单例的工厂方法创建 spring bean

转载 作者:行者123 更新时间:2023-12-01 18:47:53 28 4
gpt4 key购买 nike

我正在尝试弹性化这里的示例代码

http://xeiam.com/xchange_examplecode.jsp

  public static void main(String[] args) {

// Demonstrate the public market data service
// Use the factory to get the version 2 MtGox exchange API using default settings
Exchange mtGoxExchange = ExchangeFactory.INSTANCE.createExchange(MtGoxExchange.class.getName());

// Interested in the public market data feed (no authentication)
PollingMarketDataService marketDataService = mtGoxExchange.getPollingMarketDataService();

基本上,我希望将 PollingMarketDataService 或 Exchange 作为 spring bean 注入(inject)。

但是上面的 ExchangeFactory 是一个枚举,当我尝试这个时:

<beans:bean id="exchangeFactory" class="com.xeiam.xchange.ExchangeFactory" factory-method="valueOf">
<beans:constructor-arg value="INSTANCE"/>
</beans:bean>

<beans:bean id="mtGoxExchange" factory-bean="exchangeFactory" factory-method="createExchange">
<beans:constructor-arg value="com.xeiam.xchange.mtgox.v2.MtGoxExchange"/>
</beans:bean>

ExchangeFactory 为空。

最佳答案

这应该有效:

<util:constant id="exchangeFactory" static-field="com.xeiam.xchange.ExchangeFactory.INSTANCE" />

<bean id="mtGoxExchange" factory-bean="exchangeFactory" factory-method="createExchange">
<constructor-arg value="com.xeiam.xchange.mtgox.v2.MtGoxExchange" />
</bean>

试一试。

关于java - 如何从枚举单例的工厂方法创建 spring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919228/

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