自定义注解和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() {
    // ...
  }

}
相关文章
相关标签/搜索