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);
    }
}
  • 事务回滚:
相关推荐
Master_Azur1 分钟前
Web后端基础-Spring分层解耦
spring boot·后端·spring
Boop_wu1 小时前
[Spring Cloud] 快速上手nacos
后端·spring·spring cloud
GZ_TOGOGO1 小时前
Spring AI Alibaba 格式化输出
java·人工智能·spring
我登哥MVP1 小时前
SpringCloud Alibaba 核心组件解析:分布式事务(Seata)
java·spring boot·分布式·spring·spring cloud·java-ee·intellij-idea
摇滚侠2 小时前
MyBatis 入门到项目实战 MyBatis 各种查询功能 30-33
java·后端·spring·maven·intellij-idea·mybatis
老马识途2.012 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
不才不才不不才13 小时前
Spring AI 实战:聊天、提示词、记忆三件套
java·人工智能·spring·ai
椰椰椰耶16 小时前
[SpringCloud][14]OpenFeign参数传递方法
后端·spring·spring cloud
摇滚侠17 小时前
SpringMVC 入门到实战 DispatcherServlet 源码解读 92-95
java·后端·spring·maven·intellij-idea
键盘歌唱家17 小时前
Spring AI 入门分享:它和“直接调 API“到底差在哪
java·人工智能·spring