【基于轻量型架构的WEB开发】课程 作业4 AOP

一. 单选题(共7题,38.5分)

1

(单选题)下列选项中,用于通知/增强处理的是( )。

A. Joinpoint

B. Pointcut

C. Aspect

D. Advice

正确答案:D

答案解析:在面向切面编程(AOP)中,用于通知或增强处理的是Advice(通知)。Advice定义了在特定的Joinpoint(连接点)上执行的动作,这些动作可以是方法执行前后、异常处理、甚至在方法执行时进行拦截。Advice与Pointcut(切入点)结合使用,Pointcut定义了一组Joinpoint,即程序执行的特定位置,Advice则指定在这些Joinpoint上要执行的操作。Aspect(切面)是Pointcut和Advice的组合,它将横切关注点的逻辑封装在一起。因此,用于通知或增强处理的是Advice。

2

(单选题)在Spring的配置文件中,配置切面使用的元素是( )。

  • A. <aop:config>
  • B. <aop:aspect>
  • C. <aop:advisor>
  • D. <aop:pointcut>

正确答案:B

答案解析:config配置切面的根元素。aspect配置切面。advisor配置通知器。pointcut配置切入点。

3

(单选题)下列选项中,用于配置异常通知的注解是( )。

  • A. @After
  • B. @Around
  • C. @AfterReturning
  • D. @AfterThrowing

正确答案:D

答案解析:after配置后置通知。around配置环绕通知。afterreturning配置返回通知。

4

(单选题)以下关于Spring AOP 的介绍错误的是( )。

A. AOP的全称是Aspect-Oriented Programming,即面向切面编程

B. AOP采取横向隔离机制,将分散在各个方法中的重复代码提取出来,这种采用横向隔离机制的方式,采用OOP思想是无法办到的

C. AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品

D. AOP的使用不仅提高了开发效率,而且增强了代码的可维护性

正确答案:C

答案解析:AOP不是OOP的替代品,而是一种补充技术,用于处理OOP中难以解决的横切关注点,如日志和事务管理。

5

(单选题)下列AOP专业术语中,用于表示切面与连接点的交叉点的是( )。

A. Joinpoint B. Pointcut C. Aspect D. Advice

正确答案:B

答案解析:jointpoint连接点。pointcut切入点,一般是某个函数。aspect切点,一般是某个类。advice通知/增强处理。

6

(单选题)下列选项的Spring AOP的XML元素,用于在目标方法执行前实施增强,可以应用于权限管理等功能的是( )。

  • A. <aop:before>
  • B. <aop:after>
  • C. <aop:around>
  • D. <aop:after-returning>

正确答案:A

7

(单选题)下列选项中,用于配置切点的注解是( )。

  • A. @Aspect
  • B. @Pointcut
  • C. @Before
  • D. @Around

正确答案:B

二. 多选题(共3题,16.7分)

8

(多选题)下列选项中,Spring AOP术语的描述正确的有( )。

A. Aspect:切面是指关注点(指类中重复的代码)形成的类,通常是指封装的、用于横向插入系统的功能类。

B. Joinpoint:连接点是程序执行过程中某个特定的节点

C. Pointcut:当某个连接点满足预先指定的条件时,AOP 就能够定位到这个连接点,在连接点处插入切面,该连接点也就变成了切入点。

D. Target:目标对象是指被插入切面的方法。

正确答案:ABCD

9

(多选题)下列选项中,对Spring AOP的描述正确的有( )。

A. AOP的全称是Aspect-Oriented Programming,即面向切面编程

B. AOP采取横向隔离机制,将分散在各个方法中的重复代码提取出来,这种采用横向隔离机制的方式,采用OOP思想是无法办到的

C. AOP是OOP的升级替代品

D. AOP的使用不仅提高了开发效率,而且增强了代码的可维护性

正确答案:ABD

10

(多选题)下列选项中,是Spring AOP的常用注解有( )。

  • A. @Aspect
  • B. @Pointcut
  • C. @Before
  • D. @Controller

正确答案:ABC

三. 判断题(共6题,33.6分)

11

(判断题)Spring AOP 允许使用基于注解的方式实现 AOP。

A. 对 B. 错

正确答案:对

12

(判断题)JDK动态代理可以实现无侵入式的代码扩展,并且可以在不修改源代码的情况下,增强某些方法。

A. 对 B. 错

正确答案:对

答案解析:除了JDK还有CGLib代理也一样。

13

(判断题)Spring AOP的实现机制分两种,一种是JDK动态代理,一种是CGLib动态代理。

A. 对 B. 错

正确答案:对

14

(判断题)JDK动态代理存在缺陷,它只能为接口创建代理对象,当需要为类创建代理对象时,就需要使用CGLib(Code Generation Library)动态代理。

A. 对 B. 错

正确答案:对

15

(判断题)CGLib动态代理采用底层的字节码技术,通过继承的方式动态创建代理对象。

A. 对 B. 错

正确答案:对

16

(判断题)在AOP专业术语中,切面是指要对哪些Joinpoint进行拦截。

A. 对 B. 错

正确答案:错

答案解析:切面是指重复代码所组成的类。 切入点才是对哪些joinpoint进行拦截的设置。

四. 填空题(共2题,11.2分)

17

(填空题)Spring AOP的常用实现方法有两种,分别是基于XML文件的实现和基于【】的实现。

正确答案:注解

18

(填空题)AOP的全称是Aspect-Oriented Programming,中文翻译是【】。

正确答案:面向切面编程

相关推荐
世界和平�����11 分钟前
vue3 命名式(函数式)弹窗
前端·javascript·vue.js
所遇所思21 分钟前
vue项目中中怎么获取环境变量
前端·javascript·vue.js
飞滕人生TYF25 分钟前
java 排序 详解
java·算法·排序算法·方法
ljklxlj33 分钟前
webview4/edgewebbrower学习记录——执行js
前端·javascript·学习
潜龙在渊灬35 分钟前
纯CSS实现无限轮播banner,这道题你解出来了吗?
前端·css·程序员
出逃日志1 小时前
前端框架Vue3的响应式数据,v-on,v-if,v-for,v-bind
前端·vue.js·前端框架
Java小王子呀1 小时前
java使用itext生成pdf
java·pdf
JWASX1 小时前
定时/延时任务-Timer用法
java·定时器·timer
爱分享的码瑞哥1 小时前
利用正则表达式高效处理复杂HTML结构
前端·正则表达式·html
阿语!1 小时前
Vue生命周期详解
前端·vue.js