Spring——基于注解的AOP控制事务

基于注解的AOP控制事务

1.拷贝上一次代码

2.applicationContext.xml

xml 复制代码
<!-- 开启spring对注解事务的支持 -->
<tx:annotation-driven transaction-manager="transactionManager"/> 

3.service

java 复制代码
@Service
@Transactional(readOnly=true,propagation= Propagation.SUPPORTS)
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;
    /**
     * 转账
     * @param source
     * @param target
     * @param money
     */
    @Override
    @Transactional(readOnly=false,propagation=Propagation.REQUIRED)
    public void updateUser(String source, String target, Float money) {
        userMapper.updateUserOfSub(source, money);
        int a = 6/0;
        userMapper.updateUserOfAdd(target, money);
    }
}

4.测试

java 复制代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")//加载配置文件
public class ServiceTest {
    @Autowired
    private UserService userService;
    /**
     * 转账业务
     */
    @Test
    public void testUpdate(){
        userService.updateUser("张三丰","宋远桥",1F);
    }
}
  • 事务回滚:
相关推荐
Lyyaoo.1 小时前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
952368 小时前
MyBatis
后端·spring·mybatis
傻瓜搬砖人17 小时前
Spring集成Web环境
java·spring·maven
Java小生不才19 小时前
Spring AI文生音
java·人工智能·spring
二哈赛车手20 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
蜜獾云20 小时前
rocketmq traceId重复问题
spring·rocketmq·java-rocketmq
直奔標竿21 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
薪火铺子1 天前
Spring Security 6.x 实战指南
java·后端·spring
BING_Algorithm1 天前
一文搞定 AOP 所有核心知识点
spring boot·后端·spring
Cyan_RA91 天前
SpringMVC 请求数据绑定与参数映射 详解
java·后端·spring·mvc·springmvc·映射请求数据