之前一直使用声明式事务,切面编程的配置方式让编程者忘记了事务的存在,一旦离开,发现这个事务还是蛮重要的;
刚刚加入新公司,在这里大家热爱编程式事务或者注解式事务,这里简单了解一下@Transactional注解的使用:
public interface userService {
public void A();
public void B();
}
@Transactional
public class userServiceImpl implements userService {
@Transactional
public void A() {
}
public void B(){
}
}
这里@Transactional注解一般使用在类和方法上面,方法上的注解会覆盖类上的注解; 默认isolation为数据库默认隔离级别,如mysql的默认隔离级别为:repeatable read,事物传播行为默认为:required,readonly默认为false,可以再@Transactional中设置以上属性;
@Transactional(readOnly =
true)
隔离级别与传播行为同上;