问题1:Mybatis的SqlSession运行原理
回答:通过SqlSession可以实现增删改查(当然现在更加推荐是使用Mapper接口形式)
SqlSession提供select/insert/update/delete方法,在旧版本中使用使用SqlSession接口的这些方法,但是新版的Mybatis中就会建议使用Mapper接口的方法。
映射器其实就是一个动态代理对象,进入到MapperMethod的execute方法就能简单找到SqlSession的删除、更新、查询、选择方法,从底层实现来说:通过动态代理技术,让接口跑起来,之后采用命令模式,最后还是采用了SqlSession的接口方法(getMapper()方法等到Mapper)执行SQL查询(也就是说Mapper接口方法的实现底层还是采用SqlSession接口方法实现的)。
问题2:spring中创建对象方法
回答:-Spring主要特点就是将不再使用传统的创建对象,而是将创建对象的步骤都放入xml配置文件当中。那么我们总结一下通过xml配置实例的三种方法:普通构造方法创建(无参数构造方法)、静态工厂方法创建、实例工厂方法创建