什么是AOP对AOP的面试题

什么是AOP对AOP的面试题我是属于那种你让我写代码我能写出来 而且底层原理大概我也都知道的那种 但是你要我说各种概念我就不行了 而且我只喜欢代码 但是奈何面试的时候不可能让你你这做吧 所以为了应付面试只能做做总结了 索性就写博客来巩固了 来吧 什么是 AOP 首先告诉面试官 aop 就是面向切面编程 那什么是面向切面编程呢 就是指在运行期动态的将代码切入到制定类的指定位置这种思想就是面向切面编程 举个例子 如果我们要在执行哪

什么是AOP?

首先告诉面试官aop就是面向切面编程,那什么是面向切面编程呢?就是指在运行期动态的将代码切入到制定类的指定位置这种思想就是面向切面编程,举个例子,如果我们要在执行哪些方法前要执行一些特定的代码,而且有好多位置都要用到这个特定的代码,如日志输出等。如果我们不使用AOP的话那么我们要在这些方法前都拷贝一份这个代码,如果将来这个特定的代码改动了,那么你就要改变所有用到了这个特定代码的类,这样一来造成后期维护代码的成本很大,而且特别不易于维护,而AOP又分为静态AOP和动态AOP,静态AOP主要是aspectJ,动态AOP就是springAOP,静态AOP使用的是静态代理,对于代理模式的思想就是不改变源代码的情况下对某一个类进行增强,springAOP使用的就是动态代理,而动态代理又分为两类,一个是jdk的动态代理,但是该jdk动态代理有局限性,就是被代理的目标类必须实现有接口,所以spring还提供了另外一种动态代理的方式,就是cglib,cglib是通过继承的方式来实现的就是说你没有实现的有接口也能给你生成代理对象,因为是通过继承的方式所以对于final修饰的方法是不能进行增强,因为final修饰的方式不能被重写,而spring中如果被代理的类实现的有接口那么就优先使用jdk动态代理的方式,否则才使用cglib的方式

就这样了反正也没几个人看,下面就扩展一下springAOP中的相关术语吧

连接点:就是可以进行切入的地方,一个类中的所有方法都可以被视为连接点

切入点:就是切点表达式匹配的连接点,也就是可以在这个方法上进行通知的点

通知:真正要执行的代码,就是说你要给切入点织入哪些代码,通知分为前置通知,后置通知,异常通知,返回通知,环绕通知

切面:通知与切入点的组合,

织入:把切面应用到目标对象并生成代理对象的过程

写的不好,如果有错误还请指出

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217718.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:55
下一篇 2026年3月18日 上午8:56


相关推荐

  • monthdiff oracle_timestampdiff

    monthdiff oracle_timestampdiff营销树今天精心准备的是《timestampdiff》,下面是详解!mysql两个时间(我有两个字段是datetime类型)相减返…在mysql中,这种计算可用TIMESTAMPDIFF函数来解决,但是解决过程中需要将数据多次加工。1、创建测试表及插入测试数据:createtabletest(time1datetime,time2datetime)insertintotestval…

    2022年4月28日
    149
  • oracle的union和union all_oracle count函数

    oracle的union和union all_oracle count函数定义了unionvar{uchartempa[4];ulongtemp3;};unionvarlongdat小编们利用C语言定义一个简单的Union共用体结构。你曾经喜欢小编,现在不喜欢了,小编不怪你,那是小编没本事。在这个结构中包含若干个属性,其中有Int、Char和Double型。谁是谁生命中的过客,谁是谁生命的转轮,前世的尘,今世的风,无穷无尽的哀伤的精魂。此时小编们…

    2025年7月23日
    8
  • Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志

    Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志

    2022年1月1日
    55
  • 通过和resnet18和resnet50理解PyTorch的ResNet模块

    通过和resnet18和resnet50理解PyTorch的ResNet模块文章目录模型介绍resnet18模型流程总结resnet50总结resnet和resnext的框架基本相同的,这里先学习下resnet的构建,感觉高度模块化,很方便。本文算是对PyTorch源码解读之torchvision.modelsResNet代码的详细理解,另外,强烈推荐这位大神的PyTorch的教程!模型介绍resnet的模型可以直接通过torchvision导入,可以通过pretr…

    2022年5月26日
    93
  • python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄

    python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄一、前言Python对文件的操作是相当简单的。二、文件操作函数的介绍Python通过open函数来打开文件,语法如下open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True)可以看到,除了第一个file参数是必须的,其它都是可选的。1、file:操作的文件2、mode:操…

    2022年10月18日
    6
  • Delphi 2007体验!

    Delphi 2007体验!

    2021年12月6日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号