ImportBeanDefinitionRegistrar接口是也是spring的扩展点之一,它可以支持我们自己写的代码封装成BeanDefinition对象;实现此接口的类会回调postProcessBeanDefinitionRegistry方法,注册到spring容器中。把bean注入到spring容器不止有 @Service @Component等注解方式;还可以实现此接口,即:
- ImportBeanDefinitionRegistrar类只能通过其他类@Import的方式来加载,通常是启动类或配置类。
- 使用@Import,如果括号中的类是ImportBeanDefinitionRegistrar的实现类,则会调用接口方法,将其中要注册的类注册成bean。在将类注册为bean时可以借助包扫描器ClassPathBeanDefinitionScanner来实现扫描指定注解类的功能。
- 实现该接口的类拥有注册bean的能力。
示例参考:https://www.jianshu.com/p/2b993ced6a4c
其中mybatis集成spring的原理即为使用该接口和注解实现。
本文标题:Spring中使用@Import和ImportBeanDefinitionRegistrar动态注册bean
本文链接:https://blog.quwenai.cn/post/8340.html
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。






还没有评论,来说两句吧...