spring提供了两种方式允许我们来参与bean工厂的建设
1,BeanFactoryPostProcessor,实现这个接口,重写它的方法,可以拿到beanFactory对象,修改bd的属性
2,ImportBeanDefinitionRegistrar实现这个接口,重写它的方法,可以使beanFactory的BeanDefinitionMap暴露出来。
向spring工厂注册bd有以下几种方法
- applicationContext.register() 需要一个类参数,程序员无法参与过程
- applicationContext.scan() 需要一个类参数,程序员无法参与过程
- ImportBeanDefinitionRegistrar 变成bd的过程,程序员可以参与。重写的方法在所有的bean生成之前执行
@MapperScan(“com.huawei”) 可以将接口扫描变成对象(接口不能创建对象呀,它是怎么做到的?)
1,要创建一个bean
2,这个bean的类还要实现那个接口
3,bean交给spring管理