- 0
- 0
- 约9.27千字
- 约 9页
- 2026-06-09 发布于河北
- 举报
Java面试题(AOP专项)及详细答案
一、基础认知题(入门必问,考察核心概念)
1.请说说你理解的AOP?它解决了什么问题?实际项目中你怎么用的?
答案:首先,AOP全称是面向切面编程,它不是一种技术,而是一种编程思想,核心是“横向切入”——把程序中重复的、通用的逻辑(比如日志、权限校验、事务控制)抽离出来,做成一个“切面”,然后在不修改原有业务代码的前提下,动态切入到业务方法的指定位置(比如方法执行前、执行后)。
它解决的核心问题:避免代码冗余,解耦业务逻辑和通用逻辑。比如每个接口都要做日志记录,如果写在每个接口里,后期修改日志格式要改所有接口,而用AOP,只需要修改切面里的代码,所有切入的接口都会生效。
实际项目中的使用:比如我们项目里,所有接口的请求参数、响应结果都需要日志记录,就用AOP做了一个日志切面;还有事务控制,对所有增删改方法切入事务,确保操作的原子性;另外,权限校验也用了AOP,在方法执行前校验用户是否有操作权限,没有就直接返回异常,不用在每个方法里写校验逻辑。
2.AOP和OOP的区别与联系是什么?
答案:联系:OOP(面向对象编程)和AOP都是Java中的编程思想,相辅相成,OOP是基础,AOP是对OOP的补充。
区别:核心关注点不同——OOP关注“纵向”,比如一个用户模块,封装用户的属性和方法(增删改查),是按照业务模块划分的;AOP关注“横向”,比
您可能关注的文档
最近下载
- 2023年资料员资格考试题库学生专用.docx
- 2025年英德市招聘教师考试真题.docx VIP
- 2026年高考物理陕西卷及答案(新课标卷).docx VIP
- 2023年最新资料员考试题库附答案(培优a卷).docx
- 2026年青年马克思主义者培养工程(青马工程)综合测试题及详细答案.docx VIP
- 2022年土地登记代理人题库700道附参考答案【能力提升】.docx
- 南方科技大学自主招生(综评校测)试题及详细答案.docx
- 专修篇上 掌握市场TOM WILLIAMS《MASTER THE MARKET》.pdf VIP
- 2023年初级管理会计《专业知识》题库500道精品【综合题】.docx
- 眼镜配戴不适的原因排查与解决方法.pptx VIP
原创力文档

文档评论(0)