服务层

时间:2016-07-12 01:01:43

标签: java spring transactions java-annotations

我有一个DAO类,我有两个使用Spring @Transactional注释注释的方法,如下所示:

public class ClassDAO {
    @Transactional
    public void save() throws Exception {

    }

    @Transactional
    public void save2() {

    }
}

我希望这两个方法成为同一个事务的一部分,所以如果任何方法失败,整个事务就会被回滚。

从服务层调用这些方法,如下所示:     @Autowired     私人ClassDAO dao;

@Transactional
public void processDAO() {
    dao.save();
    dao.save2();
}

我在服务层上使用@Transactional注释,因为我读过这是最好的方法,但另一方面,我读过@Transactional属性只有在调用带注释的方法时才有效从applicationContext获取的引用,如果这是真的,那将解释为什么@Transactional注释不在服务层上工作。

我有一个问题:

如果@Transactiona l属性仅在从applicationContext获取的引用上调用带注释的方法时才起作用,那么如何在服务层上放置Transactional注释是一种好的做法?

谢谢和最诚挚的问候。

0 个答案:

没有答案
相关问题