spring框架_常见工厂后处理器
- ConfigurationClassPostProcessor:用于解析@ComponentScan @Bean @Import @ImportResource
- MapperSacnnerConfigurer:相当于Mybatis的@MapperScanner 用于解析被标注的@Mapper接口
@mapper 注解的解析:@mapper注解是mybatis提供的,用于标明一个接口,spring自然无法管理接口,要将这个接口转化为一个bean加入到beanfactory中
- 首先通过资源路径的方式扫描到mapper包
- 遍历获取的这部分资源,判断是不是当前类是不是接口
- 如果是接口,根据接口名创建mapperfactorybean
- 将新创建的mapperfactorybean注册到beandifinition中
注意:接口是不能作为bean受spring管理的 因为接口没有构造方法也无法实例化 而bean实际上是一个对象