mybatis整合spring

SqlSessionFactoryBean的创建:

   SqlSessionFactoryBean这个类实现了三个接口,一个是InitializingBean,另一个是FactoryBean,还有就是ApplicationListener接口。

    InitializingBean接口:实现了这个接口,那么当bean初始化的时候,spring就会调用该接口的实现类的afterPropertiesSet方法,初始化sqlSessionFactory。

    FactoryBean接口:通过getBean获取它的实例的时候实际是调用他的getObject方法,获取到的是sqlSessionFactory。

    ApplicationListener接口:实现了该接口,如果注册了该监听的话,那么就可以了监听到Spring的一些事件,然后做相应的处理。

  MapperScannerConfigurer实现了BeanDefinitionRegistryPostProcessor接口,postProcessBeanDefinitionRegistry方法调用。

    做完这些,MapperFactoryBean对象也就构造完成了,扫描方式添加dao的工作也完成了。MapperFactoryBean最后返回的是所以mapper接口对象,

    然后可以调用对应的方法。

我的理解:首先创建dataSource数据源对象,然后创建所有bean的sqlSessionFactory对象,最后创建所有mapper对象。通过mapper对象调用对应的方法

原文地址:https://www.cnblogs.com/zhoucx66/p/7596552.html