Java 在spring中创建类似于@Transaction的方面

Java 在spring中创建类似于@Transaction的方面,java,spring,aspectj,Java,Spring,Aspectj,我正在读链接,但我有一个疑问。在这里,我们定义将在何处调用方面,例如@Pointcutexecution*com.tutorialspoint.*.*。。。但是,如果我们想触发我明确提到的方面或注释,您会怎么做?例如,在一个类的特定方法中,如果我们使用一些注释进行注释,那么应该调用与spring中的@Transaction类似的特定方面。如何做类似的事情。谢谢。您可能对两个可注释点感兴趣:类和/或方法 如果您对具有特定注释的类感兴趣,可以使用@withinSomeAnnotationType或w

我正在读链接,但我有一个疑问。在这里,我们定义将在何处调用方面,例如@Pointcutexecution*com.tutorialspoint.*.*。。。但是,如果我们想触发我明确提到的方面或注释,您会怎么做?例如,在一个类的特定方法中,如果我们使用一些注释进行注释,那么应该调用与spring中的@Transaction类似的特定方面。如何做类似的事情。谢谢。

您可能对两个可注释点感兴趣:类和/或方法

如果您对具有特定注释的类感兴趣,可以使用@withinSomeAnnotationType或within@SomeAnnotationType *. 将其与执行相结合,以挑选带注释类型执行**..&&中任何方法的执行@WithinSmeansnotationType

如果您对注释的特定方法感兴趣,可以使用@Pointcutexecution@SomeAnnotationType * *.*... 在这种情况下,类型是否被注释并不重要。请看,注释仅位于方法签名的前面

当然,你可以将这两者结合起来,就像Spring所做的那样:

pointcut executionOfMethodInAnnotatedType:
  execution(* *(..)) && @within(MyAnnotation);

pointcut executionOfAnnotatedMethod():
  execution(@MyAnnotation * *(..));

pointcut executionOfInterestingMethod():
  executionOfMethodInAnnotatedType() ||
  executionOfAnnotatedMethod();