我必须在我的Web应用程序中使用3个不同的事务管理器。因此,我根据Spring参考文档(第10.5.6.3节自定义快捷注释)编写了自己的注释。
其中一个注释(用于使用一个特定的事务管理器)如下所示:
其中一个注释(用于使用一个特定的事务管理器)如下所示:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.transaction.annotation.Transactional;
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Transactional("customer")
public @interface CustomerTX{
}
当我使用自定义的@CustomerTX注释注释我的服务层时,一切都正常工作。但是我必须为我的注释提供更多选项,例如readonly=true,rollbackFor=等等。由于无法“扩展”注释(我实际上只需要扩展Spring的@Transactional注释),因此正确的实现方式是什么?