spring 模拟试卷
Spring AOP高级专项测试
- 复杂切点表达式编写
- 通知执行顺序与优先级
- CGLIB与JDK动态代理机制
- AOP代理对象的创建过程
- AOP高级应用场景
试卷习题(20 题)
参考答案在文末判断题
1
判断题
Spring AOP默认使用JDK动态代理,当目标类没有实现接口时自动切换为CGLIB代理。
2
判断题
Spring AOP中,同一个类内部的方法调用不会触发AOP代理,原因是内部调用直接调用目标对象而非代理对象。
3
判断题
Spring AOP可以配合自定义注解实现特定方法的切面处理,如@Log注解标记需要记录日志的方法。
单选题
4
单选题
使用AOP统一处理Service层异常并返回友好错误信息,以下实现方式最佳的是?
5
单选题
关于Spring AOP和AspectJ的关系,以下说法正确的是?
6
单选题
有两个切面AspectA(@Order(1))和AspectB(@Order(2)),对于同一个连接点,它们的环绕通知执行顺序是?
7
单选题
关于CGLIB代理,以下说法正确的是?
8
单选题
在Spring AOP中,控制多个切面执行顺序的正确方式是?
9
单选题
使用Spring AOP实现方法执行日志记录,最合适的通知类型是?
10
单选题
使用Spring AOP实现方法级别的权限校验,应该选择哪种通知类型?
11
单选题
Spring AOP中,当目标类实现了接口时,默认使用的代理方式是?
12
单选题
Spring AOP的实现原理是?
多选题
13
多选题
关于JDK动态代理和CGLIB代理的区别,以下说法正确的有?
14
多选题
在Spring AOP实战中,以下哪些做法是正确的?
15
多选题
Spring AOP适合应用于以下哪些场景?
16
多选题
Spring AOP创建代理对象的过程包括哪些步骤?
17
多选题
关于多个切面的通知执行顺序,以下说法正确的有?
填空题
18
填空题
在@Around通知中,通过对象可以获取目标方法的参数,调用方法执行目标方法,使用方法获取方法参数数组。
19
填空题
在Spring AOP中,可以使用注解或实现接口来控制多个切面的执行顺序,数值越的切面优先级越高。
20
填空题
Spring AOP的核心组件包括:切面、切入点、通知、连接点JoinPoint和目标对象Target。
参考答案
1.正确
2.正确
3.正确
4.B
5.B
6.A
7.B
8.A
9.C
10.A
11.B
12.B
13.A;B;C
14.A;B;C
15.A;B;C
16.A;B;C;D
17.A;B;C
18.ProceedingJoinPoint;proceed;getArgs
19.@Order;Ordered;小
20.Aspect;Pointcut;Advice
