Spring AOP 切入点指示符详解
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"本文档详细介绍了Spring AOP中支持的AspectJ切入点指示符,包括execution、within、this、target、args、@within、@target、@args、@annotation以及bean等,并简要提及了命名切入点和类型匹配语法。" 在Spring AOP中,切入点指示符是定义切面的关键部分,它们帮助我们在程序中定位到特定的关注点,以便于实现面向切面编程。以下是对各个切入点指示符的详细解释: 1. **execution**:这是最常用的切入点指示符,它用于匹配方法执行的连接点。例如,`execution(* com.example.service.*.*(..))`会匹配`com.example.service`包下的所有类的所有方法。 2. **within**:此指示符允许我们根据类型来匹配方法,比如`within(com.example.MyClass)`将匹配`MyClass`类中所有的方法。 3. **this**:它匹配当前AOP代理对象的类型。如果代理对象是实现了特定接口的类,即使目标对象不直接实现该接口,`this`也会匹配。 4. **target**:与`this`不同,`target`匹配的是目标对象的类型,不考虑AOP代理。因此,如果目标对象不包含指定类型,即使其代理对象包含,也不会匹配。 5. **args**:这个指示符允许我们根据方法参数的类型来匹配方法,例如`args(java.lang.String)`将匹配所有接受一个String参数的方法。 6. **@within**:这个指示符用于匹配类上带有特定注解的所有方法。如`@within(@org.springframework.stereotype.Service)`会找到所有标记为@Service的类中的方法。 7. **@target**:与`@within`类似,但它关注的是目标对象是否含有指定的注解,而不是类本身。 8. **@args**:这个指示符匹配方法参数带有指定注解的执行。比如`@args(com.example.MyAnnotation)`将匹配所有参数含有`MyAnnotation`注解的方法。 9. **@annotation**:它用于匹配方法上带有指定注解的执行,例如`@annotation(com.example.MyAnnotation)`将找到所有方法上带有`MyAnnotation`注解的方法。 10. **bean**:这是Spring AOP特有的,它允许我们通过Bean名称来匹配方法,例如`bean(myBean)`将匹配名为`myBean`的Bean的所有方法。 除了上述支持的指示符,AspectJ还提供了一些Spring AOP目前不支持的指示符,如`call`、`get`、`set`等,尝试使用这些不支持的指示符会导致异常。 在Spring AOP中,可以创建命名切入点,方便其他切入点引用。命名切入点只在@AspectJ风格的注解中支持,Schema风格不支持。通过引用命名切入点,我们可以保持代码的模块化和可读性。 最后,AspectJ类型匹配语法中的通配符`*`和`..`也很关键。`*`用于匹配任意字符,而`..`用于匹配任意级别的包或类结构,如在类型模式中匹配任何数量的包层级。这些通配符使得切入点表达式具有很高的灵活性,能适应多种场景的需求。
![](https://csdnimg.cn/release/download_crawler_static/85693916/bg3.jpg)
剩余14页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/ac8b9680820940e7ac9d0c7be554f725_weixin_44609920.jpg!1)
- 粉丝: 242
- 资源: 1940
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)