Fügen Sie der Klasse oder Methode Ihre eigene Anmerkung hinzu und verwenden Sie die in der Anmerkung angegebenen Zeichen.
--Umgebung - Spring AOP 4.3.5 - cglib 2.1_3
Die Erfassungsmethode unterscheidet sich zwischen der an die Klasse angehängten Anmerkung und der an die Methode angehängten Anmerkung, und ich bin dort gestolpert. ..
Anmerkung zur Klasse beigefügt
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ClassAnnotation{
String value() default "defalut";
Aspekt Zielklasse
@ClassAnnotation("Class_01")
public class SampleController {
Realisierungsteil von Aspect (PointCat wird ausgeführt)
@Around("@within(ann)")
public void classIntercepter(ProceedingJoinPoint pjp, ClassAnnotation ann) throws Throwable{
System.out.println(ann.value());
pjp.proceed();
Der Methode beigefügte Anmerkung
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MethodAnnotation {
String value() default "defalut";
Aspekt Zielmethode
@MethodAnnotation("Method_01")
public void sampleMethod(
Realisierungsteil von Aspekt (
@Around("@annotation(ann)")
public void MethodIntercepter(ProceedingJoinPoint pjp, MethodAnnotation ann) throws Throwable{
System.out.println(ann.value());
pjp.proceed();
Realisierungsteil von Aspekt(Klasse)
@Around("@within(com.example.annotation.ClassAnnotation)")
public void classIntercepter(ProceedingJoinPoint pjp) throws Throwable{
pjp.proceed();
Realisierungsteil von Aspekt(Methode)
@Around("@annotation(com.example.annotation.MethodAnnotation)")
public void classIntercepter(ProceedingJoinPoint pjp) throws Throwable{
pjp.proceed();
Eine kleine spezielle Java-Anmerkung So schreiben Sie einen Spring AOP-Punktschnitt-Spezifizierer Verwenden wir Annotation mit AspectJ Part 1
Recommended Posts