gpt4 book ai didi

java - Spring 注入(inject) - 接口(interface)和类

转载 作者:行者123 更新时间:2023-12-02 08:34:28 28 4
gpt4 key购买 nike

我希望能够在我的类中调用接口(interface),但让 spring 在幕后使用正确的实现类实例化它们。

即通常你可以这样做:

IClass clz = new Class();

我希望将行 IClass clz; 放在方法中间(或者作为属性之一,如果无法完成),其中 clz 实例化为类 I想要在 Spring 之前。

我想这样做的原因是因为我希望能够通过编辑上下文文件来更改我想要使用的实现。

更好的是,知道如何使用需要参数的类构造函数来执行上述操作。即 new Class(ar1, arg2);

我希望这是有道理的。任何帮助将不胜感激。

最佳答案

你可以让你的类实现 BeanFactoryAware,然后 Spring 将在你的类中注入(inject) bean 工厂。如果您想获取实现您的接口(interface)的类的实例,您可以这样说:

beanFactory.getBean(IClass.class);

如果有多个 Bean 实现相同的接口(interface),则必须按名称进行解析。要在每次请求时创建一个新对象,请将您请求的 bean 的 bean 范围设置为“原型(prototype)”。

关于java - Spring 注入(inject) - 接口(interface)和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355573/

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