首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring 5:以编程方式注册通用bean

Spring 5:以编程方式注册通用bean
EN

Stack Overflow用户
提问于 2017-12-21 06:51:52
回答 1查看 573关注 0票数 4

Spring5提供了使用GenericApplicationContext#registerBean的编程注册。不幸的是,为了能够检索泛型类型化bean,该方法只接受Class而不接受ParameterizedType

有没有其他方法可以注册泛型bean?

EN

回答 1

Stack Overflow用户

发布于 2017-12-24 21:58:13

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

您还可以从ConfigurableApplicationContext中使用ConfigurableBeanFactory,并使用registerSingleton来注册类类型的bean。

代码语言:javascript
复制
@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");      
        }       
    }   

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47915493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档