首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring事宜注意事项

2012-11-08 
Spring事务注意事项Spring的基于注解的声明式事务,配置起来非常简单,但是使用的时候需要注意两点:假设publ

Spring事务注意事项

Spring的基于注解的声明式事务,配置起来非常简单,但是使用的时候需要注意两点:

假设

public class AServiceImpl implements AService {    [......]   public void saveA(A a){         ADao.insertA(a);   }}
?

1. @Transactional必须标注在入口方法上。如:

public class ADaoImpl extends BaseDao implements ADao {    @Transactional    public void insertA(A a){          insert("insert_a", a);          insert("insert_b", a.getB());   }}

?如果是下面这种,就会失效:

public class ADaoImpl extends BaseDao implements ADao {        public void insertA(A a){           insertAA(A a);   }   @Transactional   public void insertAA(A a){          insert("insert_a", a);          insert("insert_b", a.getB());     }}

?2.加上事务的方法必须抛出RuntimeException的子类,否则不会回滚,如果在上面的加了@Transactional的insertA里catch了数据库异常,并且没有抛出,则这个方法的事务不会回滚。

热点排行