springMVC配置文件中主要配什么?
1.相关的处理器
2.视图解析器
spring配置文件中主要配什么?
1.数据源
2.sqlSessionFactoryBean
3.一些service相关的类
4.mapper映射文件
5.将mybatis接口的实现加入到ioc容器中
6.事物的配置
mybatis配置文件中主要配什么?
1.可以配个别名,加载个mapper文件,但是也都可以在spring配置文件中配置,所以该文件可以什么都不配置
在Spring和MyBatis整合时,使用了一个扫描器org.mybatis.spring.mapper.MapperScannerConfigurer,该扫描器的作用是根据指定的包或者路径的接口去找对应包或路径下的映射文件,如果接口和映射文件不在用一个包下,需要在配置SqlSessionFactory时配置<property name="mapperLocations" value="classpath:mapper/*.xml"></property>来指定出映射文件所在的位置,然后创造出名称和接口名称一样的实现类并且放到Spring容器中。
namespace和接口的全限定性类名要一致的原因有:
1.使用动态代理时,要根据传入的接口.class找到对应的映射文件
2.Spring整合MyBatis时配置的扫描器要根据映射文件的namespace的值来找到接口,创建接口的实例并且存储到容器中。
需要映射文件名和接口名一样的情况有:
1.在注册映射文件时使用<package name="包名">标签时
2.注册映射文件时使用<mapper class="">mapper标签的class属性时
整合Spring-MyBatis之前,SqlSessionFactory是有SqlSessionFactoryBuilder的方法读取myBatis配置文件(主要是读取其中的数据源)创建出来的
整合Spring-MyBatis之后,直接把数据源配置给SqlSessionFactory,就可以直接用了。
在配置事务的时候:
1.先配置事务管理器
2.配置顾问,选择性增强某些类的某些方法
3.配置通知,把事务管理器传给通知,指定增强某些方法并且给出具体的增强方式