Spring AOP(三)-AOP的Advisor

本文介绍Spring AOP中的切面(Advisor)概念及其应用,包括名称匹配和正则表达式方法匹配切入点顾问的使用,并探讨如何通过自动代理生成器解决多代理问题。

一、spring 切面的Advisor

顾问(Advisor) : 他将通知进行了包装,根据通知的不同类型,在不同的时间点,将切面织入到指定的目标对象的某些连接点(方法)。

PointCutAdvisor是顾问的一种,它是一个接口,有两个实现:
* NameMatchMethodPointCutAdvisor 名称匹配方法 切入点顾问
详见appliactionContext.xml AdvisorTest.testBeforeAdvisor();

* RegexpMethodPointCutAdvisor 正则表达式方法匹配切入点顾问
a: * 匹配前面的子表达式任意次 比如: ao* 能匹配 a ao aoo aoooooo
b: + 匹配前面的子表达式一次或者多次 比如: ao+ 能匹配 ao aoo aooo
c: . 匹配任意字符 除"\r\n"之外的
.* 代表任意的一个字符串 .*add.* 代表包含add字符的任意字符串
详见appliactionContext.xml , AdvisorTest.testAfterAdvisor();
因为上节中我们学习了advice通知,那么它也有缺点,比如,通知只能切入目标类的所有方法,不能指定某些方法,(那么我可以解决这个问题,通过顾问对通知的封装而实现.
注意aop的这个方法经典的方法在实际开发中很少用,但是对后面的xml配置以及AspectJ注解开发的理解非常有用
1.我们采用名称名称匹配的方法
首先创建一个applicationContext-advisor.xml的配置文件

创建测试方法

结果:

也可以在配置文件中以数组的方式也可以得到同样的效果


2.通过正则表达式配置切入点顾问
同样配置applicationContext-advisorxml

测试方法

结果:

3.Spring提供了自动代理生成器来解决要定义多个代理的问题 ,有如下两种方式:
DefaultAdvisorAutoProxyCreator 可代理所有Bean自动代理生成器
* 默认advisor自动代理生成器 (为配置文件里面所有的advisor自动生成代理)
详见AtuoProxyCreatorTest .java , appliactionContext.xml
注意:1 :为配置文件里面所有的advisor自动生成代理 /会代理配置文件里面所有注册的目标对象

BeanNameAutoProxyCreator 可选择某些切面自动代理生成器
* bean名称自动代理生成器
可以配置新的applicationContext-auto.xml

重新定义一个接口,IPersonDao,实现addStudent()和midify()方法,并注册该类
测试及结果:


也可以为指定的bean配置代理生成器

在这是userDao的bean没有personDao的bean,我们一起来看看结果

如果改为personDao则同理

4.总结:
以上的各种技术无非就是,将我们编写的切面的实现(通知/顾问)织入到某些类的某些方法当中.

这些都是帮助理解AOP的思想,对我们后面的注解有较好的理解.

下节我们继续学习AOP的AspectJ基于注解的开发(前三节都是铺垫)


内容概要:本文档详细介绍了基于C++的大学志愿填报系统的设计与实现,涵盖了项目背景、目标、挑战、特点、应用领域及未来改进方向。系统旨在通过高效的数据处理和智能推荐算法,帮助考生科学合理地进行志愿填报,提升填报效率和录取成功率。系统采用分层架构,包括数据采集与预处理、考生成绩分析、院校与专业信息管理、智能推荐算法、风险评估及用户交互模块。推荐算法基于多条件加权评分模型,结合考生成绩、兴趣爱好和录取概率,生成个性化的志愿填报方案。系统还具备实时数据更新机制、模拟录取概率分析、用户体验优化设计、灵活的配置管理、强大的数据安全保障体系和良好的跨平台兼容性。适合人群:适用于高校招生管理人员、参与高考志愿填报的考生及其家长、从事教育信息化建设的研究人员和技术开发者。使用场景及目标:①高校招生管理部门进行数据统计与分析,优化招生计划;②考生和家长获取专业志愿填报指导和模拟分析服务;③教育主管部门进行政策研究和趋势分析,推动教育公平;④教育咨询机构提供数据支持和服务平台,提升志愿填报服务的专业性和效率。其他说明:系统未来将引入深度学习推荐模型、多源数据融合、移动端适配、自然语言处理辅助咨询、大数据分析与可视化深化、智能风险预警系统、系统性能优化、用户行为分析及多语言支持等功能,进一步提升智能化和服务能力。整体项目推动了高校招生信息化进程,促进教育资源合理配置,帮助考生科学规划未来学业路径,具有广泛应用前景和社会价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小巍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值