在 Spring 中更改 @Transactional 的默认设置

Change the default settings for @Transactional in Spring

目前,我们必须为应用程序中 90% 使用 @Transactional 注释的方法添加 rollbackFor=Exception.class。我想知道是否有办法将 rollbackFor 的默认值设置为 Exception.class 某处,这样我们就不必每次都明确指定它。

既然是注解,标准就是写自己的自定义注解,替换成@Transactional(rollbackFor = Exception.class)。如果您使用以下注释进行注释,则无需在任何地方指定 rollbackFor,因为它会被隐含。

@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Transactional(rollbackFor = Exception.class)
@Documented
public @interface CustomTransactional {

}