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