1.概述
Spring 事务管理是 Spring 框架中用于确保数据库操作原子性、一致性、隔离性和持久性 (ACID) 的核心机制。它通过声明式或编程式方式管理事务,支持多种事务传播行为和隔离级别。相较于编程式事务,声明式事务通过
@Transactional注解实现事务管理,无需手动编写事务代码。
2.@Transactional
作用:提供声明式事务管理。它简化了在应用程序中管理数据库事务的流程。开发者只需在方法或类上添加此注解,Spring 框架就会自动处理事务的开启、提交和回滚,无需手动编写事务管理代码 (如 begin、commit、rollback)。 **级别:**类 + 方法。作为类注解:为类中所有 public 方法添加注解。作为方法注解:默认仅对 public 方法生效。
@RequestMapping("/test")
@RestController
@Slf4j
public class TestController {
private final UserService userService;
@Autowired
public TestController(UserService userService) {
this.userService = userService;
}
@Transactional
@RequestMapping("/test1")
public String test1(String userName, String password) {
UserInfo userInfo = new UserInfo();
userInfo.setUserName(userName);
userInfo.setPassword(password);
Integer result = userService.register(userInfo);
if (result == 1) {
log.info("test1 注册成功,userName:{},password:{}", userName, password);
}
return "注册成功";
}
}


