- 0
- 0
- 约3.22千字
- 约 5页
- 2026-08-24 发布于河北
- 举报
SpringAOP高频面试题及真实口语化答案
一、基础概念篇(初级必问)
1、什么是AOP?核心作用是什么?
AOP就是面向切面编程,是对OOP面向对象编程的补充。OOP是纵向的类和方法封装,AOP是横向的功能增强。
简单说就是:在不修改原有业务代码的前提下,对方法进行统一增强。
主要用来处理系统通用的非业务逻辑,比如日志记录、事务控制、权限校验、接口耗时统计、限流、缓存等,做到业务代码和通用功能解耦。
2、AOP的核心术语有哪些?分别是什么意思?
不用死记官方定义,面试这么说最接地气:
切面(Aspect):就是我们写的AOP增强类,里面封装了所有通用增强逻辑,比如日志切面、事务切面。
连接点(JoinPoint):所有可以被AOP拦截的点,Spring里特指所有的方法。
切入点(Pointcut):从所有连接点中,筛选出来需要真正拦截的方法,就是我们配置的execution表达式对应的方法。
通知/增强(Advice):拦截方法后,要执行的具体逻辑,比如前置通知、后置通知。
目标对象(Target):被AOP代理的原始业务类对象。
代理(Proxy):Spring生成的目标对象的代理对象,用来执行增强逻辑。
织入(Weaving):把切面的增强逻辑,嵌入到目标方法的过程,Spring是在运行时织入的。
3、AOP和OOP的区别?
OOP是垂直抽象,靠封装、继承、多态实现代
原创力文档

文档评论(0)