如何分析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)

相关推荐

  • 拓端tecdat:Python集成机器学习:用AdaBoost、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化

    技术拓端tecdat:Python集成机器学习:用AdaBoost、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化 拓端tecdat:Python集成机器学习:用AdaBoost、决策树、逻辑回

    礼包 2021年12月15日
  • 信号量学习

    技术信号量学习 信号量学习(一)概念信号量是一个整数,这个整数允许多进程或多线程同步他们的操作。这个整数必须大于等于0.
    linux库函数中,类似有名映射、匿名映射,有名管道、无名管道,信号量也有有名信

    礼包 2021年11月26日
  • 10款好用的MySQL GUI工具分别是什么

    技术10款好用的MySQL GUI工具分别是什么这篇文章将为大家详细讲解有关10款好用的MySQL GUI工具分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。My

    攻略 2021年11月29日
  • 小白点,人的面部出现小白点是怎么回事

    技术小白点,人的面部出现小白点是怎么回事先说说脂肪粒的产生 1、 体内原因:眼部、面部出现油脂粒大多是由于近期身体内分泌有些失调小白点,致使面部油脂分泌过剩,再加上皮肤没有得到彻底清洁干净,导致毛孔阻塞,很快形成脂肪粒。

    生活 2021年10月25日
  • SQL中DDL操作的示例分析

    技术SQL中DDL操作的示例分析这篇文章给大家分享的是有关SQL中DDL操作的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、数据库对象 表 视图:存储在数据字典中的一条

    攻略 2021年12月13日
  • 上引号,这段话在人字上加引号的作用

    技术上引号,这段话在人字上加引号的作用这段话在“人“字上加引号的作用是表示特殊的称谓,指具有特殊含义的词语上引号。引号的作用如下:1、表示引用的部分。文章中的人物对话或者是直接引用别人的话(或文章)用引号,为的是把他们和

    生活 2021年10月20日