这篇文章主要讲解了“怎么使用spring中的ImportBeanDefinitionRegistrar”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用spring中的ImportBeanDefinitionRegistrar”吧!
ImportBeanDefinitionRegistrar是spring对外提供动态注册beanDefinition的接口,spring内部大部分套路也是用该接口进行动态注册beanDefinition的。
ImportBeanDefinitionRegistrar接口不是直接注册Bean到IOC容器,它的执行时机比较早,准确的说更像是注册Bean的定义信息以便后面的Bean的创建。
ImportBeanDefinitionRegistrar接口提供了registerBeanDefinitions方便让子类进行重写。该方法提供BeanDefinitionRegistry类型的参数,让开发者调用BeanDefinitionRegistry的registerBeanDefinition方法传入BeanDefinitionName和对应的BeanDefinition对象,直接往容器中注册。
ImportBeanDefinitionRegistrar 通常和@Import注解配合使用。@Import会将ImportBeanDefinitionRegistrar的实现类注入到spring 容器中。从而spring 容器可以遍历调用 ImportBeanDefinitionRegistrar接口的 registerBeanDefinitions方法。
注意:这里我们可以注册FactoryBean的BeanDefinition,给FactoryBean设置动态参数。将要注册的真正要注入的bean作为参数,然后让spring容器利用这个FactoryBean的构造方法进行实例化。(通过setAutowireMode(3))mybatis整合spring的底层就是这么实现的。
感谢各位的阅读,以上就是“怎么使用spring中的ImportBeanDefinitionRegistrar”的内容了,经过本文的学习后,相信大家对怎么使用spring中的ImportBeanDefinitionRegistrar这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。