每当我说@Transactional时,对每个选中的异常回滚
由于程序员被迫捕获所有已检查的异常,因此在出现任何问题时都会抛出已检查的异常。我想回退任何这些期望。rollbackFor=Exception.class
在每个@Transactional
注释上书写都非常容易出错,因此我想告诉spring:“每写一次@Transactional
,我的意思是@Transactional(rollbackFor=Exception.class)”
。
我知道,我可以创建一个自定义批注,但这似乎是不自然的。
那么有没有办法告诉spring它应该如何在全球范围内处理检查的异常情况呢?
回答:
自定义快捷方式注释
我知道,我可以创建一个自定义批注,但这似乎是不自然的。
如果发现你在许多不同方法上重复使用@Transactional使用相同的属性,那么Spring的元注释支持使你可以为特定用例定义自定义快捷方式注释。
样例代码
这是你的用例的示例注释:
@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)
@Transactional(rollbackFor=Exception.class)
public @interface MyAnnotation {
}
现在用@MyAnnotation
(你会想到一个更好的名称)注释你的服务和/或方法。这是经过良好测试的功能,默认情况下有效。为什么要重新发明轮子?
以上是 每当我说@Transactional时,对每个选中的异常回滚 的全部内容, 来源链接: utcz.com/qa/418767.html