自定義註解和AOP的結合使用

瞭解幾個概念

請看官方文檔

https://docs.spring.io/spring...html

不想看官方文檔的看這裏

AOP

AOP是面向切面編程,是OOP(面向對象)編程的補充。OOP的模塊關鍵單元在在類,而AOP在於切面。spring

AOP中的幾個概念

Aspect
Join point
Advice
PointCut
Introduction
Target object
AOP proxy
Weavein

通知的類型Types of advice:編程

Before advice
After returning advice
After throwing advice
After final advice
Around advice

AspectJ和AOP

AspectJ使用

啓動 AspectJ支持

<aop:aspectj-autoproxy/>

聲明切面

package org.xyz;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class NotVeryUsefulAspect {

}

聲明切點

支持切點標識符
execution
within
args
@target
@within
@args
@annotation

聲明通知

通知和切點表達式關聯,在切點表達式以前,以後,執行app

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

@Aspect
public class BeforeExample {

  @Before("com.xyz.myapp.SystemArchitecture.dataAccessOperation()")
  public void doAccessCheck() {
    // ...
  }

}
相關文章
相關標籤/搜索