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);
    }
}
  • 事务回滚:
相关推荐
步行cgn6 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
卓怡学长12 小时前
w210基于springboot反诈平台设计与实现
java·spring boot·spring·intellij-idea
大模型码小白16 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
1001101_QIA16 小时前
从 CPU 到 GPU:高速缓存、指令并行与 CUDA 执行原理入门
java·后端·spring
卓怡学长16 小时前
w156一周穿搭App的设计与实现
java·spring boot·spring·maven·intellij-idea
杰克尼17 小时前
同城拼车项目面试问题_01
spring·面试·职场和发展
Java成神之路-18 小时前
基于 Spring AI+MCP 协议实现大模型调用本地自定义工具
java·spring·springaialibaba
SQL-First布道者18 小时前
我为什么把 MyBatis 从项目中删了?
java·spring·tomcat·mybatis·mybatis plus·spring jdbc
QCodingDev19 小时前
Spring AI 2.0企业级RAG实战:引用校验、无依据拒答与知识治理怎么做?
java·人工智能·spring·ai
名字还没想好☜20 小时前
Java 用 LinkedHashMap 三行实现 LRU 缓存:accessOrder、removeEldestEntry 与线程安全
java·后端·安全·spring·缓存