Spring AOP简述

1、Spring AOP简述

  • AOP概述

    • 概念:在软件行业中,AOP为Aspect Oriented Programming(面向切面编程)。通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,AOP是OOP(Object Oriented Programming,面向对象编程)的延续,是软件开发的一个热点,也是Spring框架的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时也提高了开发效率。简单来说就是把我们程序的重复代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源代码的基础上,对我们已有方法的功能增强。

    • 作用及优势:在不修改原有方法的代码的基础上增强方法的功能;减少重复代码、提高开发效率、维护方便

    • 实现技术:动态代理技术

    • AOP应用:前面使用的动态代理在Dao层操作数据库

  • AOP的相关术语

    • Joinpoint:连接点即被拦截点,一般就是我们所说的业务层方法。

    • Pointcut:切入点即增强的方法

    • Advice:通知/增强。增强方法的通知,执行拦截的方法之前是前置通知、之后是后置通知,发生异常是异常通知,finally里是最后通知,执行这一系列的通知的方法是环绕通知

    • Introduction:引介,它是一种特殊的通知,在不修改代码的基础上,Introduction可以在运行期为类动态的添加一些方法或者Field

    • Target:代理的目标对象,即被代理的类

    • Weaving:织入把增强应用到目标对象来创建新的代理对象的过程,Spring采用动态代理织入,而AspectJ采用编译器织入和类装载期织入

    • Proxy:代理对象,即方法返回的代理对象

    • Aspect:切面,切入点和通知(引介)的结合

原文地址:https://www.cnblogs.com/aitiknowledge/p/12713039.html