gpt4 book ai didi

generics - Spring 5 : Programmatically register generic bean

转载 作者:行者123 更新时间:2023-12-02 02:58:31 24 4
gpt4 key购买 nike

Spring 5 使用 GenericApplicationContext#registerBean 提供编程注册.不幸的是,这个方法只接受 Class而不是 ParameterizedType能够检索泛型类型的 bean。

有没有其他方法可以注册通用bean?

最佳答案

有几种工厂方法可用于以编程方式注册 bean。

您也可以使用 ConfigurableBeanFactory来自 ConfigurableApplicationContext并利用 registerSingleton注册类类型的bean。

@SpringBootApplication
public class Application {



public static void main(String[] args) {
ConfigurableApplicationContext applicationContext=SpringApplication.run(Application.class, args);
ConfigurableBeanFactory beanFactory=applicationContext.getBeanFactory();
beanFactory.registerSingleton("testBean", new Application().new TestClass<String>());
TestClass<String> testObj=applicationContext.getBean(TestClass.class);
testObj.testMethod("hello");
}

public class TestClass<T>{
public void testMethod(T t) {
System.out.println("Test Method");
}
}

}

关于generics - Spring 5 : Programmatically register generic bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47915493/

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