如何分析Spring AOP设计与原理

技术如何分析Spring AOP设计与原理这篇文章给大家介绍如何分析Spring AOP设计与原理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java程序执行——方法调用在学java基础我们就知道

本文介绍了如何分析Spring AOP的设计和原理。内容非常详细,有兴趣的朋友可以参考一下,希望对你有帮助。

Java程序执行——方法调用

从java的基础知识中我们知道,java程序总是从主方法开始运行。当它开始运行时,JVM会创建一个主线程,主线程会以main方法为入口开始执行代码。从线程栈的角度来看,JVM处理Java程序的基本单元是方法调用(宏观视图)。当我们使用面向对象解决问题时,我们考虑如何根据执行顺序通过方法调用来实现我们的业务逻辑。如果从虚拟机线程栈的角度考虑Java程序执行,那么你会发现程序运行的整个过程就是方法调用的过程。

连接点

我们把上面的方法调用按照执行流程排列在线程栈中,会出现类似下图的图:

如何分析Spring  AOP设计与原理

根据程序运行的顺序,我们可以将方法调用排成一行。每个方法调用都可以被视为这条线上的一个节点。在AOP术语中,这个节点被称为连接点,即连接点。一个Java程序的运行过程就是几个连接点依次连接并执行的过程。

00-1010 AOP(面向方面编程)从另一个角度考虑整个程序。AOP把每一个方法调用,也就是连接点作为编程的入口,并为方法调用编程。从逻辑上讲,执行相当于之前按照时间轴垂直执行的程序的水平切入。相当于把之前的程序水平切割成几个方面,也就是Aspect。每个小平面称为一个切平面。

如何分析Spring  AOP设计与原理

如何分析Spring  AOP设计与原理

因为方面本质上是每个方法调用,选择方面的过程实际上就是选择方法的过程。然后,选定的方面在AOP术语中称为点切割。连接点切割实际上是从所有连接点中选择您感兴趣的连接点的过程。

如何分析Spring  AOP设计与原理

00-1010既然AOP程序有方法调用,问题就来了。AOP如何捕获方法调用?也就是说,AOP如何知道当前运行的是哪种方法?为了找出这个问题,你必须了解设计模式中的代理模式!什么是代理模式?例子:真正的例子对象是迪丽热巴第一。迪丽热巴被要求在没有火的时候去跳舞,她自己去,相当于之前没有经纪人对象的时候。现在有了代理对象就意味着她有了代理。如果迪丽热巴想跳舞,她必须先联系经纪人。我们假设在我们的Java代码中,代理对象是通过代理模式为实例对象创建的,对这些实例对象的访问必须通过代理,所以带有代理对象(代理角色)的Java程序执行流程会变得稍微复杂一些。

如何分析Spring  AOP设计与原理

由于Spring的代理层可以检测您对实例对象进行的每个方法调用,因此Spring有机会在这个代理的过程中插入Spring自己的业务代码。

这里将分享如何分析Spring AOP的设计和原理。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/132967.html

(0)

相关推荐

  • 如何实现web微前端沙箱

    技术如何实现web微前端沙箱这篇文章主要讲解了“如何实现web微前端沙箱”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现web微前端沙箱”吧!背景应用沙箱可能是微前

    攻略 2021年11月15日
  • Redis事务处理的操作方法是什么

    技术Redis事务处理的操作方法是什么本篇文章给大家分享的是有关Redis事务处理的操作方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、简介

    攻略 2021年10月20日
  • linux如何获取脚本名称(linux怎么获取某一行的信息)

    技术怎么写linux脚本提取满足某个条件的行这篇文章主要介绍“怎么写linux脚本提取满足某个条件的行”,在日常操作中,相信很多人在怎么写linux脚本提取满足某个条件的行问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年12月23日
  • 如何使用Xtrabackup备份MySQL数据库

    技术如何使用Xtrabackup备份MySQL数据库这篇文章将为大家详细讲解有关如何使用Xtrabackup备份MySQL数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文则演示

    攻略 2021年10月27日
  • 开发React应用的实用技巧有哪些

    技术开发React应用的实用技巧有哪些这篇文章将为大家详细讲解有关开发React应用的实用技巧有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。背景Hooks 自推出以

    攻略 2021年11月25日
  • 灯笼的简单做法,小灯笼的手工DIY做法

    技术灯笼的简单做法,小灯笼的手工DIY做法1、首先要准备的工具有:彩纸、裁刀、钳子和一些铁丝,当然还有锥子或者是针,会被用来钻孔灯笼的简单做法。2、彩纸需要是两种不同颜色的,大小是7/4英寸*9英寸的。(这里单位是英寸,

    生活 2021年10月27日