@Transactional加在哪一层
时间: 2023-11-02 19:02:04 浏览: 50
事务注解@Transactional一般加在service层。这是因为在典型的应用架构中,service层负责业务逻辑的处理,包括多个dao层的调用。通过在service层添加事务注解@Transactional,可以将多个数据库操作封装在一个事务中。这样可以确保在一个事务中的所有数据库操作要么都成功提交,要么都回滚。如果将事务注解加在dao层,每次与数据库进行增删改操作都会提交一次事务,这样事务的特性无法充分发挥。因此,将事务注解@Transactional加在service层可以更好地解释和利用事务的特点。
相关问题
@Transactional 加在哪
@Transactional 是Spring框架提供的注解,用于在方法上添加事务支持。一般情况下,我们将@Transactional注解加在访问数据库的Service层方法上,以确保这些方法在被调用时会以事务的方式执行。这样可以保证数据的一致性和完整性,同时也可以避免脏数据的出现。需要注意的是,如果在方法内部调用其他带有@Transactional注解的方法,那么这些方法也会在一个事务中执行。
@Transactional 加在Controller
如果在Controller层不加@Transactional注解,不会产生404异常的原因是因为Spring不会为该类生成代理。在AbstractHandlerMethodMapping绑定的时候,这个类不是一个代理,所以匹配成功。一般开发中事务要求放在Service层,但有些情况下可能会要求放在Controller层。在Controller层使用@Transactional的用法和在Service层使用是一样的。