介绍:我们日常开发中很常用的就是spring的事务管理,我们通常使用声明式事务
声明式事务:基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低,所以在实际开发中声明式事务用的比较多。声明式事务也有两种实现方式,是基于TX和AOP的xml配置文件方式,二种就是基于@Transactional注解了,现在我们通常使用注解的方式
使用场景:@Transactional 可以作用在接口、类、类方法,我们通常使用在方法上
作用:当作用于方法上时,此 public 方法将具有该类型的事务属性,也就是此方法对于数据库操作,要么都成功,要么都不成功(遇到报错会回滚)
正常效果及其展示:
package com.example.springdemo.controller;
import com.example.springdemo.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@Rest