Spring中的@Transactional 放在 类级别 和 方法级别 上有什么不同?

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会覆盖类上面声明的事务

相关推荐