springboot事务配置
时间: 2023-10-14 19:27:31 浏览: 94
在 Spring Boot 中,我们可以使用 @Transactional 注解来开启事务,并对事务进行配置。具体步骤如下:
1. 在 pom.xml 中引入 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa,这两个依赖会自动引入 spring-tx 依赖。
2. 在需要开启事务的方法上添加 @Transactional 注解。
3. 可以在 @Transactional 注解中使用一些属性来配置事务,如 isolation(事务隔离级别)、propagation(事务传播行为)、readOnly(只读事务)、timeout(事务超时时间)等等。
示例代码如下:
```java
@Service
public class UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Transactional(propagation = Propagation.REQUIRED,
isolation = Isolation.DEFAULT,
readOnly = false,
timeout = 36000)
public void save(User user) {
jdbcTemplate.update("insert into user(name, age) values(?, ?)",
user.getName(), user.getAge());
}
}
```
在上述代码中,我们使用 @Transactional 注解对 save 方法进行了事务配置,其中 propagation 属性设置了事务传播行为为 REQUIRED,isolation 属性设置了事务隔离级别为 DEFAULT,readOnly 属性设置了事务为可读写,timeout 属性设置了事务超时时间为 36000 秒。
需要注意的是,@Transactional 注解只能用于 public 方法上,因为 Spring AOP 是基于代理模式实现的,只有 public 方法才能被代理。
阅读全文