定义切面和切入点(@Pointcut @Aspect)

Exisi 2022-11-28 08:42:32
Categories: Tags:

 

注解名称

描述

@Aspect

用于定义一个切面

@Pointcut

用于定义切入点表达式。在使用时还需要定义一个包含名字和任意参数的方法签名来表示切入点名称。实际上,这个方法签名就是返回一个void值,且方法体为空的普通方法

 

 

 

定义切面@Aspect

@Aspect用于定义一个切面

 

参数

描述

value

每个子句表达式,默认为单例方面,有效值为“”(单例)、“perthis(...)”

示例

@Aspect

@Component

public class Student {

}

 

 

 

定义切入点@Pointcut

​​​​​​​

 

参数

描述

value

切入点表达式

argNames

在没有调试信息的情况下编译时,或在运行时解释切入点时,通知声明中使用的任何参数的名称都不可用

 

示例

@Aspect

@Component

public class LogAspectHandler {

 

    /**

     * 定义一个切面,拦截 com.mutest.controller 包和子包下的所有方法

     */

    @Pointcut("execution(* com.mutest.controller..*.*(..))")

    public void pointCut() {}

}