springboot 事务配置实例
时间: 2023-10-14 09:17:11 浏览: 97
好的,下面是一个简单的 Spring Boot 事务配置实例:
1. 在 pom.xml 文件中添加如下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
```
2. 在 application.properties 文件中配置数据库连接信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# jpa配置
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
```
3. 创建一个 Service 类,在其中定义需要进行事务管理的方法:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
// 添加事务注解
@Transactional(rollbackFor = Exception.class)
public void addUser(User user) {
// ......
}
}
```
4. 在 Controller 类中调用 Service 中的方法:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/add")
public String addUser(User user) {
userService.addUser(user);
return "success";
}
}
```
通过在 Service 中添加 `@Transactional` 注解,来开启事务管理。如果在方法执行过程中发生异常,则会回滚到事务开始前的状态。在 Controller 中调用 Service 方法时,如果出现异常,则会抛出 `RuntimeException` 异常,从而触发事务回滚。
阅读全文