- 0
- 0
- 约3.43千字
- 约 5页
- 2026-08-24 发布于河北
- 举报
SpringAOP高频面试题(真实面试版)
一、基础认知类(入门必问)
1.什么是AOP?核心作用是什么?
AOP即面向切面编程,是一种编程思想,和OOP面向对象编程互补。OOP主要针对类和对象做纵向的代码抽象,而AOP是针对方法层面的横向代码抽取。
核心作用是把项目中重复的通用逻辑抽离出来,比如日志记录、事务控制、权限校验、接口限流、性能耗时统计等,不用在每个业务方法里重复编写,实现业务代码和通用功能代码的解耦,提升代码复用性和可维护性。
2.AOP和OOP的区别是什么?
1)OOP是纵向抽象,基于类、继承、多态,解决的是业务模块分层、代码复用的问题,核心是对象和类的设计;
2)AOP是横向拦截,基于方法切面,解决的是通用横切逻辑冗余、代码侵入性强的问题,核心是无侵入增强业务方法;
简单说:OOP管业务主体,AOP管通用增强,二者配合使用。
3.SpringAOP的核心核心术语有哪些?分别解释?
连接点(JoinPoint):程序中可以被拦截的点,Spring里特指所有的Bean中的方法,只有方法能作为连接点;
切入点(PointCut):对连接点进行筛选的规则,不是所有方法都需要拦截,通过表达式匹配需要增强的目标方法;
切面(Aspect):封装横切逻辑的类,就是我们自己写的加了@Aspect注解的类,里面包含通知和切入点规则;
通知(Advice):切面中具体执
原创力文档

文档评论(0)