gpt4 book ai didi

java - Spring注入(inject)一个使用从静态方法调用的实例创建的对象

转载 作者:行者123 更新时间:2023-11-30 07:31:05 24 4
gpt4 key购买 nike

我创建了一个对象,如下所示:

 serviceValidatorObject = ServiceFactory.getInstance().getServiceValidator()

对象是通过调用静态方法 getInstance(),然后是实例方法 getServiceValidator() 创建的。

我想使用 Spring 注入(inject)来配置它。

问题是 ServiceFactory 是遗留代码,我无法更改。

我知道 Spring 支持通过工厂类静态方法或实例方法进行注入(inject),但是无论如何我可以在 Spring 中配置上面的对象创建吗?

最佳答案

<bean id="exampleBean"
factory-bean="myFactoryBean"
factory-method="createInstance"/>

在您的例子中,exampleBean 是您的 serviceValidatorObject,工厂 bean 是 serviceFactory,工厂方法是 getServiceValidator。你可能也需要这个:

<bean id="serviceFactory"
factory-method="getInstance"/>

关于java - Spring注入(inject)一个使用从静态方法调用的实例创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7475235/

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