ssm项目事务失效的问题

spring 本身是一个容器,

springmvc 本身是一个容器

如果事务要被spring 接管,

controller 层的扫描放在springmvc容器 中, 作为视图层的入口

service 和dao层的扫描放在spring 容器中, 让spring 容器接管事务,service层如果有异常抛出,则事务自动回滚

ssm项目事务失效的问题_第1张图片

如果dao层没有实现类,按上图中的配置让mapperScannerConfigure去扫描接口类,mybatis会自动装载

如果dao层有实现类, 按类似service的配置执行,让spring 启动的时候去扫描dao

ssm项目事务失效的问题_第2张图片

如果dao有实现类,则在实现类的baseDao中继承SqlSessionDaoSupport 重写setSqlSessionFactory方法,采用Autowired通过spring 把配置文件中的sqlSessionFactory注入进来,

ssm项目事务失效的问题_第3张图片

在dao执行方法中可以直接getSqlSession执行需要的操作

ssm项目事务失效的问题_第4张图片

配事务配置文件一份

REQUIRED 开启事务操作

最后一行的

 

你可能感兴趣的:(ssm项目事务失效的问题)