首页 > 其他分享 >AOP基本概念

AOP基本概念

时间:2023-02-11 18:01:56浏览次数:40  
标签:增强 连接点 切入点 编程 切面 AOP 基本概念

一、面向切面编程(Aspect Oriented Programming)

是对面向对象编程(OOP)的有益补充和升级

AOP编程思想研究的不是层与层之间的关系,主要的是同一层的各个不同功能块共性功能,比如:访问控制、事务管理、异常处理、日志信息。它主要关注的两个问题:在什么位置执行什么功能

在业务系统中,总有一些散落、穿插在系统的个处,且不得不处理的事情,叫做切面,也叫做横切逻辑。

面向切面编程,简单的说,就是在不改版原有的基础上,为代码增加新的功能模块,对其加强处理。

二、基本概念

1、切面(Aspect):一个模块化横切逻辑,可能会横切多个对象:一般情况下是一个类:可以理解为由增强和切入点组成。

2、连接点(JoinPoint):程序执行过程中能够插入切面的一个点(可能有很多,但是要根据需要进行增强)。一般是指原业务主线中的方法。

3、增强(Advice):切面在某个特定的连接点上执行的代码逻辑。一般是指切面类中的一个用于提供增强功能的方法;

增强的类型:前置增强、后置增强、异常抛出增强、环绕增强、最终增强

4、切入点 (Pointcut):对连接点的特征进行描述,可以使用正则表达式,一个增强和一个切入点关联,并在与这个切入点的某个连接点上运行。即:那些已经被”增强”增强后的连接点。

5、目标对象(Target):需要被一个或多个切面增强的对象;

6、AOP代理(AOP proxy):由AOP框架(Spring)所创建的对象,用来执行增强的功能。

7、织入(Weaving):将增强连接到程序中的类型或对象上的,整个组装的过程。

三、AspectJ:

是一个面向切面编程的框架,它扩展了Java语言。它定义了AOP的语法。

早期的SpringAOP开发很繁琐,但是从Soring2.0以后提供了AspextJ框架的支持。


标签:增强,连接点,切入点,编程,切面,AOP,基本概念
From: https://blog.51cto.com/u_15907719/6050928

相关文章

  • AOP开发流程
    一、导入并加载jar包AOPaopalliance-1.0.jaraspectjweaver-1.6.9.jarspring-aop-3.2.13.RELEASE.jarSpringspring-beans-3.2.13.RELEASE.jarspring-context-3.2.13.RELEASE.......
  • 前端-vue基础92-路由的基本概念和说明
      ......
  • 数据结构的基本概念和常用术语
    数据:是描述客观事物的数、字符以及能输入计算机中并被计算机处理的符号的集合。例如,一个代数方程的求解程序中所使用的数据是实数,而一个文本编辑程序使用的数据是字符串。数......
  • aop中的一些对象
    AOP编程过程中的Signature接口转载:https://blog.csdn.net/M_amazing/article/details/121747188此接口通常用于跟踪或记录应用程序以获取有关连接点的反射信息////Sou......
  • .Net6对AOP的多种支持之IAsyncResourceFilter
     环境:.Net6Web项目Mvc结构开发工具:VS2022IAsyncResourceFilter(资源缓存异步)IAsyncResourceFilter扩展   ASP.NETCore6提供的是接口IAsyncResourceFilter......
  • Webots学习笔记(一) 基本概念
    最近准备学习webots,看了一下网络上没有什么特别好的教程,估计只能跟着官方的手册WebotsUserGuide和WebotsReferenceManual来进行学习了。Webots仿真的基本要素worldf......
  • IOC基本概念
    一、Spring简介:一个轻量级框架,以IOC(InversionofControl控制反转)和AOP(AspectOrientedProgramming面向切面编程)为核心,还提供了声明式事务,对DAO层(SpringJDBC)的支持。......
  • Java中的JDBC基本概念和各对象详解
    概念JavaDataBaseConnectivity Java数据库连接,Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这......
  • Springboot整合AOP和注解,实现丰富的切面功能
    简介我们在文章《SpringAOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功......
  • Spring AOP与AspectJ的对比及应用
    1简介AOP,即面向切面编程是很常用的技术,特别是在JavaWeb开发中。而最流行的AOP框架分别是SpringAOP和AspectJ。2SpringAOPvsAspectJSpringAOP是基于SpringIoC实......