Spring 中的 @Transactional 放在类级别 和 方法级别 上有什么不同?
@Transactional 放在类级别上是否等同于该类的每个方法都放上了 @Transactional?
是的
一般类上这么写
//默认将类中的所有函数纳入事务管理。
@Transactional(readOnly=true) //配置事务 查询使用只读
public Demo{
//方法的写法 (增删改要写 ReadOnly=false 为可写)
@Transactiona(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,readOnly=false)
public void saveUser(){
}
}
Propagation.REQUIRED :有事务就处于当前事务中,没事务就创建一个事务
isolation=Isolation.DEFAULT:事务数据库的默认隔离级别
readOnly=false:可写 针对 增删改操作
注意:方法的 @Transactional 会覆盖类上面声明的事务
类似于 Spring 的 @PostMapping、@RestController 区别差不多可以类比
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于