美文网首页
SpringAOP详解

SpringAOP详解

作者: 暮秋moco | 来源:发表于2020-02-23 22:07 被阅读0次

1. 什么是AOP?

AOP (Aspect Oriented Programming) 即 面向切面编程,面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式。

2. 为什么要使用AOP?

SpringAOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。

3. AOP框架

目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ。

  • Spring AOP 使用纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类植入增强的代码。
  • AspectJ 是一个基于 Java 语言的 AOP 框架,从 Spring 2.0 开始,Spring AOP 引入了对 AspectJ 的支持。AspectJ 扩展了 Java 语言,提供了一个专门的编译器,在编译时提供横向代码的植入。

4.AspectJ与SpringAOP的区别

Spring aop 是一个跨 SpringIoC 的简单的 aop 实现, 它不打算作为一个完整的 AOP 解决方案,SpringAOP只能应用于由 Spring 容器管理的 bean。
AspectJ 是原始的 aop 技术, 提供了完整的 aop 解决方案。它更健壮, 但也比 Spring AOP 复杂得多,AspectJ 可以在所有域对象中应用。
我们常常在Spring框架中使用AspectJ注解来进行开发。

5. AOP术语

为了更好地理解 AOP,就需要对 AOP 的相关术语有一些了解,这些专业术语主要包含 Joinpoint、Pointcut、Advice、Target、Weaving、Proxy 和 Aspect。

名称 说明
Joinpoint(连接点) 指那些被拦截到的点,在 Spring 中,可以被动态代理拦截目标类的方法。
Pointcut(切入点) 指要对哪些 Joinpoint 进行拦截,即被拦截的连接点。
Advice(通知/增强) 指拦截到 Joinpoint 之后要做的事情,即对切入点增强的内容。
Aspect(切面) 切入点和通知的结合。
Target(目标) 指代理的目标对象。
Weaving(植入) 指把增强代码应用到目标上,生成代理对象的过程。
Proxy(代理) 指生成的代理对象。

6.

7.

参考

相关文章

  • SpringAop详解

    近几天学习了一下SpringAop在网上找了一些资料,此链接为原文链接http://www.cnblogs.com...

  • SpringAOP详解

    1. 什么是AOP? AOP (Aspect Oriented Programming) 即 面向切面编程,面向切...

  • SpringAOP详解-如何指定Cglib代理

    大家应该都了解Spring AOP有两种实现方式,Jdk Proxy和Cglib。默认情况下,如果类实现了接口,则...

  • spring框架 AOP

    10、 代理模式 为什么要学习代理模式?因为这就是SpringAOP的底层!【SpringAOP 和 Spring...

  • spring源码解析-基于注解的SpringAOP源码解析(二)

    在Spring源码解析之基于注解的SpringAOP源码解析(一)中,我们搭建了SpringAOP源码分析的环境,...

  • 六、AOP实现自动的系统日志功能

    一、本课目标 掌握SpringAOP的配置 二、使用SpringAOP实现日志输出 在下面的这个示例中,通过Spr...

  • SpringAOP

    SpringAOP-PPT SpringAOP视频 面向切面编程(AOP)通过提供另外一种思考程序结构的途经来弥补...

  • springAOP

    springAOP切面拦截参数进行校验。

  • Spring AOP源码分析

    前言 通过之前的俩篇文章,我们大体上已经知道如何使用SpringAOP了,同时也了解到了SpringAOP底层使用...

  • Spring AOP 一

    上一篇讲了jdk动态代理,下面我们来说说SpringAOP。SpringAOP是基于动态代理的,它对动态代理又做了...

网友评论

      本文标题:SpringAOP详解

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