您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关Spring中怎么使用注解声明事务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
@Transactional注解的具体使用。
因为@Transactional注解有默认的事务属性,所以只需要添加上述注解即可完成对事务的管理。但有一个问题我们要注意,就是虽然上述注解有默认事务功能,但是我们知道,事务的注解底层是通过AOP的方式实现事务管理的,所以我们还需要的配置spring中的xml,使之让spring支持对@Transactional注解的支持。具体配置如下:
上述配置是最简单的配置,实际上<tx:annotation-driven>标签还有别外两个属性,下面我们看一下这两个属性的具体功能。
下面我们看一下@Transactional注解的相关默认属性都有哪些。
事务传播行为--:PROPAGATION_REQUIRED
事务隔离级别--:ISOLATION_DEFAULT
读写事务属性--:读/写事务
超时时间--:依赖底层的事务属性默认值
回滚设置--:运行期异常回滚
上述介绍的是@Transactional注解的默认设置,虽然很常用,但不一定能满足我们所有的需求,所以,spring还提供我们手动设置上述默认注解的功能。具体的配置如下:
下面我们介绍一下@Transactional注解的注意事项
@Transactional注解可以被应用于接口定义接口方法、类定义、和类的public方法上。但spring建议我们将@Transactional注解最好标注在业务类的上。这是因为注解不能被继承,所以,如果我们将@Transactional注解标注在接口上时,那么它的子类由于无法继承,所以,此时的子类,spring是不会进行事务管理的。
如果一个类已经使用了@Transactional注解,这时spring就会将这个类中所有的public方法上都添加事务管理,如果我们此时又在public方法上添加的方法级别的@Transactional注解,那么spring默认会用方法的注解覆盖类上面的@Transactional注解。
关于Spring中怎么使用注解声明事务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。