gpt4 book ai didi

java - Spring中如何按类型创建bean?

转载 作者:行者123 更新时间:2023-11-29 04:40:37 28 4
gpt4 key购买 nike

在我的 ApplicationContext 中,我创建了多个相同样式的 Bean。所以我有很多重复的代码写一个 FactoryBean对于每个 bean 。这些 bean 有一个共同点,实现所有一个特殊接口(interface)。

我想将所有创建的 bean 转移到一个工厂。那个人必须提供这样的方法

<T extends CommonInterface> T createInstance(Class<T> clazz);

在那里我可以实现创建我的特殊 bean 之一所需的所有实例化。

我的实现会被 spring 调用

@Autowired
private MyCommonInterfaceImplementation impl;

那样

createInstance(MyCommonInterfaceImplementation.class)

到目前为止,我查看了 BeanFactoryFactoryBean , 两者似乎都不是我正在寻找的。

有什么建议吗?

最佳答案

为什么不使用 @bean

@Bean
public MyCommonInterfaceImplementation getMyCommonInterfaceImplementation(){
return MyBeanFactory.createInstance(MyCommonInterfaceImplementation.class);
}

//should autowire here
@Autowired
private MyCommonInterfaceImplementation impl;

关于java - Spring中如何按类型创建bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39348010/

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