标签:target 对象 什么 代理 切点 AOP springAOP Advice
springAOP是什么
AOP就是面向切面编程,是一种非常适合在无需修改业务代码的前提下,对某个或某些业务增加统一的功能,比如日志记录、权限控制、事务管理等,能很好的使得代码解耦,提高开发效率。
核心概念
- Advice
- Advice可以理解为通知、建议。在Spring中通过定义Advice来定义代理逻辑。
- Pointcut
- Pointcut是切点,表示Advice对应的代理逻辑应用在哪个类、哪个方法上。
- Advisor
- Advisor等于Advice-Pointcut。表示代理逻辑和切点的一个整体。程序员可以通过定义或封装一个Advisor,来定义切点和代理逻辑。
- Weaving
- Weaving表示织入,将Advice代理逻辑在源代码级别嵌入到切点的过程,就叫做织入。
- Target
- Target表示目标对象。也就是被代理对象。在AOP生成的代理对象中会持有目标对象。
- Join Point
- Join Point表示连接点。在Spring AOP中,就是方法的执行点。
工作原理
AOP是发生在Bean的生命周期过程中的:
- Spring生成bean对象时。先实例化出来一个对象。也就是target对象
- 再对targot对象进行属性填充
- 在初始化后步骤中,会判断target对象有没有对应的切面
- 如果有切面。就表示当前target对象需要进行AOP
- 通过Cglib或JDK动态代理机制生成一个代理对象。作为最终的bean对象
- 代理对象中有一个target属性指向了target对象
思考
- springaop,可以引申出代理模式以及Cglib或JDK不同代理模式的区别
标签:target,对象,什么,代理,切点,AOP,springAOP,Advice 来源: https://www.cnblogs.com/faetbwac/p/16306488.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。