java程序设计开发,设计思想Spring开源框架-IOC与AOP-声明Pointcat、Advice学习笔记,精确控制切面逻辑作用于哪些类、哪些方法。
Java 程序设计开发:Spring 框架 - AOP 之声明 Pointcut 与 Advice 学习笔记
一、核心概念:Pointcut(切入点)与 Advice(通知)
Pointcut(切入点):
- 定义一组 ** 连接点(Join Point,如方法调用)** 的表达式,用于指定切面逻辑作用的范围。
- 核心作用:精确控制切面逻辑作用于哪些类、哪些方法。
Advice(通知):
- 定义切面在连接点上执行的具体逻辑,包括执行时机(前置、后置、环绕等)和逻辑内容。
- 类型:前置(@Before)、后置(@After)、返回(@AfterReturning)、异常(@AfterThrowing)、环绕(@Around)。
二、Pointcut 表达式语法详解
1. 基础语法:execution ()
execution([修饰符类型] [返回类型] [包名.类名.方法名]([参数列表]))
- 通配符:
*
:匹配任意单个元素(如* get*(..)
匹配所有以get
开头的方法)。..
:匹配任意层级(包或参数,如com.example..*
表示com.example
及其子包)。+
:匹配子类(如Service+
表示Service
及其所有子类)。
2. 常用表达式示例
表 |
---|