ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringAop

2020-11-26 18:33:01  阅读:220  来源: 互联网

标签:增强 代理 织入 切面 AOP SpringAop OOP


一、Aop:面向切面编程(OOP扩展和延续)

1、核心:

横向重复、纵向抽取

在这里插入图片描述

2、优点:

1)、对业务的各个部分进行分离
2)、降低业务逻辑各部分之间的耦合度
3)、提高程序可用性
4)、提高开发效率

3、功能

日志记录、性能统计、安全控制、事务处理、异常处理

4、AOP与OOP的区别

一、OOP(面向对象编程)

针对业务处理过程的实体及属性进行抽象封装,获得更加清洗高效的逻辑单元划分

二、AOP(面向切面编程)

针对业务处理过程中的切面进行提取,面对的是处理过程中的某个步骤或阶段,获得逻辑过程中个部分低耦合性的隔离效果
ood/oop是面向名词领域;aop面向动词领域。两者有本质差异

二、AOP相关术语

1、目标对象(target)

指需要被增强的对象,springAop是代理魔兽实现这个对象,永远是被代理对象

2、连接点(join point)

指被增强的方法

3、通知\增强(advice)

实际增强的方法。分为前置、后置、异常、环绕、最终通知

4、切面(aspect)

切入点和通知的结合

5、织入(weaving)

目标对象的连接点被增强的过程

6、代理(poxy)

一个类被AOP织入增强后,产生一个代理类

7、引介(introduction)

一种特殊的通知

三、AOP底层实现

1、静态AOP

指aspectJ实现的AOP,将切面代码直接编译到JAVA类文件中

2、动态AOP

指将切面代码进行动态织入实现AOP

3、实现

JDK提供的动态代理技术和CGLIB动态字节码增强技术

标签:增强,代理,织入,切面,AOP,SpringAop,OOP
来源: https://blog.csdn.net/ICanICanGO/article/details/110196709

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有