美文网首页
浅析 aop

浅析 aop

作者: 小流江海 | 来源:发表于2017-11-02 17:19 被阅读0次

一、什么是aop?

aop是面向切面编程。aop是oop的延续,oop的重点在于具体领域模型的抽象,而aop则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。当我们需要为分散的对象引入公共行为(日志、安全、事务)的时候,oop则显得无能为力。也就是说,oop允许你定义从上到下的关系,但并不适合定义从左到右的关系。aop可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

aop主要功能是日志记录,性能统计,安全控制,事务处理,异常处理等。将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。

aop的核心概念:

1、横切关注点

对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点

2、切面(aspect)

类是对物体特征的抽象,切面就是对横切关注点的抽象

3、连接点(joinpoint)

被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器

4、切入点(pointcut)

对连接点进行拦截的定义

5、通知(advice)

所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类

6、目标对象

代理的目标对象

7、织入(weave)

将切面应用到目标对象并导致代理对象创建的过程

8、引入(introduction)

在不修改代码的前提下,引入可以在运行期为类动态地添加一些方法或字段

二、aop利用什么技术实现的?

aop 实现的关键就在于 aop框架自动创建的 aop代理,aop代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 aop框架提供的命令进行编译,从而在编译阶段就可生成 aop代理类,因此也称为编译时增强;而动态代理则在运行时借助于 JDK 动态代理、CGLIB 等在内存中“临时”生成 aop动态代理类,因此也被称为运行时增强。

aop是怎么出现的?

aop是什么?

aop可以干什么?

aop有什么优势?

自己的理解:

aop是面向切面编程,是对面向对象编程的补充,面向对象可以很好的解决纵向领域的问题,却无法很好解决横向的问题,比如各模块的公共行为的部分;apo利用动态代理的技术,解决了横向公共模块的问题,例如事物控制,日志管理;经典应用是Spring aop。Spring的事物控制就是通过aop实现的。

相关文章

  • Spring 学习--AOP

    参考文献:深入浅析Spring 的aop实现原理Spring AOP 深入剖析AOP: 面向切面编程oop是从上往...

  • 浅析AOP(二)——简单应用

    前戏《浅析AOP(一)——基本概念》已经准备好了前置认识。 本篇再剖析一下AOP。 SpringAOP的底层技术 ...

  • AOP浅析

    序言 最近在做一个spring boot的web应用,在解决日志处理的问题的时候需要用到AOP编程,作为sprin...

  • 浅析AOP

    对AOP的简单理解 AOP就是面向切面编程,这种方式让我们有更多精力放在核心业务逻辑上,下面这个图可以方便我们理解...

  • 浅析 aop

    一、什么是aop? aop是面向切面编程。aop是oop的延续,oop的重点在于具体领域模型的抽象,而aop则是针...

  • Android AOP浅析

    AOP 是 Aspect Oriented Programming的缩写,我们意为“面向切面编程”。我们平时也称为...

  • Spring AOP源码浅析

    1. Spring AOP示例代码 示例代码结构如下图所示: 其中切面类AspectObject的代码: 被代理类...

  • Spring AOP源码浅析

    本篇文章的入口代码为:https://www.jianshu.com/p/8492e1ecf52e Spring ...

  • Spring AOP浅析(二) AOP实现分析

    前文介绍了代理模式及实现,但想要实现一个完整的AOP框架还远远不够,接下来我们来分析一下Spring是如何实现AO...

  • 浅析面向切面编程(AOP)

    2017-08-20 by yunqing.wen 笔者读了《spring in action 4th Edit...

网友评论

      本文标题:浅析 aop

      本文链接:https://www.haomeiwen.com/subject/lcwgpxtx.html