spring事务 的传播行为PROPAGATION_NOT_SUPPORTED,及其代码示例
时间: 2023-08-16 22:05:53 浏览: 199
Spring的7 种事务传播行为.docx
PROPAGATION_NOT_SUPPORTED是Spring事务传播行为的一种,它的含义是当前方法不支持事务,如果当前存在事务,则挂起该事务。
下面是一个简单的代码示例:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public void updateUser(User user) {
userDao.updateUser(user);
}
}
```
在上面的代码中,我们使用@Transactional注解将updateUser方法标记为一个事务方法,并且设置propagation属性为Propagation.NOT_SUPPORTED。这表示当前方法不支持事务,并且将会挂起当前存在的事务。如果当前没有事务,则直接执行该方法。
需要注意的是,虽然当前方法不支持事务,但是它仍然可以参与到已经存在的事务中。例如,如果在调用updateUser方法之前已经开启了一个事务,则该事务会被挂起,但是在updateUser方法执行完毕后,仍然可以继续执行事务。
阅读全文