结合前面做的小项目,如果我把test01 test02下面的 service 都加了 事务的注解
这样启动时候会报错!
事务管理器里面不能有两个事务!!!!
这时候需要用 @Transactional(transactionManager=”test1TransactionManager”) 指定事务管理器
请看当前目录结构:
DataSource1Config代码里面有声明事务管理器的名字的!
然后我们这个项目多个数据源、多个事务
同理可得:
package com.toov5.test02.service02; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.toov5.test02.mappertest02.UserMapperTest02; import lombok.extern.slf4j.Slf4j; @Service @Slf4j public class UserService02 { @Autowired private UserMapperTest02 userMapperTest02; @Transactional(transactionManager="test2TransactionManager") public int insertUser(String name, Integer age){ int result = userMapperTest02.insert(name, age); log.info("####################",result); return result; } }
当失败时候,会进行回滚从而不会写入到数据库中
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/16163.html