当前位置: 首页 > news >正文

【基于轻量型架构的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,中文翻译是【】。

正确答案:面向切面编程

相关文章:

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

一. 单选题&#xff08;共7题&#xff0c;38.5分&#xff09; 1 (单选题)下列选项中&#xff0c;用于通知/增强处理的是&#xff08; &#xff09;。 A. Joinpoint B. Pointcut C. Aspect D. Advice 正确答案&#xff1a;D 答案解析&#xff1a;在面向切面编程&#xff…...

跨境独立站新手,如何用DuoPlus云手机破局海外社媒引流?

独立站作为电商领域的一个重要组成部分&#xff0c;其发展在最近几年里确实令人瞩目&#xff0c;对于想要进入跨境赛道的新手卖家来说&#xff0c;手上握着有优势的货源&#xff0c;建立小型的DTC独立站确实会比入驻第三方平台具有更大的灵活性。本文将给跨境卖家们总结独立站和…...

【Android、IOS、Flutter、鸿蒙、ReactNative 】标题栏

Android 标题栏 参考 Android Studio版本 配置gradle镜像 阿里云 Android使用 android:theme 显示标题栏 添加依赖 dependencies {implementation("androidx.appcompat:appcompat:1.6.1")implementation("com.google.android.material:material:1.9.0")…...

信息安全工程师(83)Windows操作系统安全分析与防护

一、Windows操作系统安全分析 系统漏洞&#xff1a; Windows操作系统由于其复杂性和广泛使用&#xff0c;可能存在一些已知或未知的漏洞。这些漏洞可能会被黑客利用&#xff0c;进行恶意攻击。微软会定期发布系统更新和补丁&#xff0c;以修复这些漏洞&#xff0c;提高系统的安…...

QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)

不小心接了同事的委托&#xff0c;帮改一个qt的工程代码。然后出事了&#xff0c;那个proj是qt5.9版本的吧&#xff0c;搞到6.6版本的环境中各种问题。至少有3个是这样的&#xff1a; :-1: error: Unknown module(s) in QT: multimedia 直接百度&#xff0c;好像很简单&#x…...

如何在vscode中安装git详细新手教程

一、安装git后点击vscode中的设置 今天教大家如何在VScode中编写代码后提交到git仓库&#xff0c;如果我们不想切换到git的命令行窗口&#xff0c;可以在VScode中配置git&#xff0c;然后就可以很方便快捷的把代码提交到仓库中。 二、在输入框中输入 git.path &#xff0c;再点…...

JVM垃圾回收详解二(重点)

死亡对象判断方法 堆中几乎放着所有的对象实例&#xff0c;对堆垃圾回收前的第一步就是要判断哪些对象已经死亡&#xff08;即不能再被任何途径使用的对象&#xff09;。 引用计数法 给对象中添加一个引用计数器&#xff1a; 每当有一个地方引用它&#xff0c;计数器就加 1…...

VLAN 高级技术实验

目录 一、实验背景 二、实验任务 三、实验步骤 四、实验总结 一、实验背景 假如你是公司的网络管理员&#xff0c;为了节省内网的IP地址空间&#xff0c;你决定在内网部署VLAN聚合&#xff0c;同时为了限制不同业务之间的访问&#xff0c;决定同时部署MUX VLAN。 二、实验…...

windowsC#-创建和引发异常

异常用于指示在运行程序时发生了错误。 此时将创建一个描述错误的异常对象&#xff0c;然后使用 throw 语句或表达式引发。 然后&#xff0c;运行时搜索最兼容的异常处理程序。 当存在下列一种或多种情况时&#xff0c;程序员应引发异常&#xff1a; 1. 方法无法完成其定义的…...

python爬虫案例——请求的网页源码被加密,解密方法全过程(19)

文章目录 1、任务目标2、网页分析3、代码编写1、任务目标 目标网站:https://jzsc.mohurd.gov.cn/data/company,该网站的网页源码被加密了,用于本文测验 要求:解密该网站的网页源码,请求网站并返回解密后的明文数据,网页内容如下: 2、网页分析 进入网站,打开开发者模式,…...

详解广告联盟

某种程度上&#xff0c;动荡的程度甚于以往。产业链中快速挤进了众多不曾有过的角色&#xff0c;产业逻辑被完全颠覆。巨大的变化在几年间迅速产生&#xff0c;源头是快速发展的互联网和科技。 这个行业走到了十字路口&#xff0c;身处其中的大多数人感到乐观&#xff0c;但同…...

Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)

Hi again. 嗨了。 Ready to get back into it? 准备好重新开始了吗&#xff1f; Let’s go. Time estimation, 我们走吧。时间估计, effort estimation, 努力估计, and capacity planning are all helpful techniques for creating your project schedule. 容量规划都是创建项…...

攻防世界35-easyupload-CTFWeb

攻防世界35-easyupload-CTFWeb 通过各种上传发现&#xff0c;过滤了php后缀和内容中有php的文件 有这几种方式上传一句话木马 <script language"php">eval($_POST[1]);</script> <?php eval($_POST[cmd]);?> <? eval($_POST[cmd]);?>…...

在Mysql中,如何定位慢查询

参考回答&#xff1a;之前我们有个项目做压测的时候有的接口非常的慢&#xff0c;接口的响应时间超过了2秒以上&#xff0c;因为在MySOL中也提供了慢日志查询的功能&#xff0c;可以在MySOL的系统配置文件中开启这个慢日志的功能&#xff0c;并且也可以设置SOL执行超过多少时间…...

CSS教程(三)- CSS 三大特性

1. 层叠性 介绍 多组CSS样式共同作用于一个元素&#xff0c;就会出现 覆盖&#xff08;层叠&#xff09; 另一个冲突的样式。 层叠原则 样式冲突&#xff1a;遵循就近原则&#xff08;哪个样式离结构近&#xff0c;就执行哪个样式&#xff09; 样式不冲突&#xff0c;就不会重…...

如何保证Redis与MySQL双写一致性

什么是双写一致性问题&#xff1f; 双写一致性主要指在一个数据同时存在于缓存&#xff08;如Redis&#xff09;和持久化存储&#xff08;如MySQL&#xff09;的情况下&#xff0c;任何一方的数据更新都必须确保另一方数据的同步更新&#xff0c;以保持双方数据的一致状态。这一…...

【IC每日一题:IC验证面试--UVM验证-2】

IC每日一题&#xff1a;IC验证面试--UVM验证-2 2.9 get_next_iterm()和try_next_item()的区别&#xff1f;2.10 一个典型的UVM验证平台&#xff0c;谈一下UVM验证环境结构&#xff0c;各个组件之间的关系&#xff1f;2.11 uvm组件之间通信的方式&#xff1f; analysis_port和其…...

SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记

这是一篇港科大学生在google research 实习期间发在ECCV2024的语义引导生成式修复的文章&#xff0c;港科大陈启峰也挂了名字。从首页图看效果确实很惊艳&#xff0c;尤其是第三行能用文本调控修复结果牌上的字。不过看起来更倾向于生成&#xff0c;对原图内容并不是很复原&…...

#揭秘万维网:从静态页面到智能互联网

揭秘万维网&#xff1a;从静态页面到智能互联网 今天刚上了学校开设的课程&#xff0c;于是便有了下文的思考内容。 在当今数字化时代&#xff0c;Web&#xff08;万维网&#xff09;扮演着重要的角色&#xff0c;成为人们获取信息、沟通交流和进行商业活动的主要平台。 1. …...

【计算机基础——数据结构——红黑树】

1. 红黑树&#xff08;RBTree&#xff09; 为什么HashMap不直接使用AVL树&#xff0c;而是选择了红黑树呢&#xff1f; 由于AVL树必须保证左右子树平衡&#xff0c;Max(最大树高-最小树高) < 1&#xff0c;所以在插入的时候很容易出现不平衡的情况&#xff0c;一旦这样&…...

Sentinel — 微服务保护

微服务架构将大型应用程序拆分为多个小而独立的服务&#xff0c;每个服务可以独立部署和扩展。然而&#xff0c;微服务系统需要面对的挑战也随之增加&#xff0c;例如服务之间的依赖、分布式环境下的故障传播和安全问题。因此&#xff0c;微服务保护措施是确保系统在高并发、资…...

Cynet:全方位一体化安全防护工具

前言 1999年&#xff0c;布鲁斯施奈尔曾说过&#xff1a;“复杂性是安全最大的敌人。”彼时还是19年前&#xff0c;而现在&#xff0c;网络安全已然变得更加繁杂。 近日我在网上冲浪过程中发现了这么一个平台性质的软件&#xff0c;看似具有相当强的防护能力。 根据Cynet的描…...

python中常见的8种数据结构之一数组的应用

在Python中&#xff0c;数组是一种常见的数据结构&#xff0c;用于存储一系列相同类型的元素。在实际应用中&#xff0c;数组可以用于解决各种问题。 以下是数组在Python中的一些常见应用&#xff1a; 1. 存储和访问数据&#xff1a;数组可以用于存储和访问一组数据。可以通过…...

安装多个低版本谷歌Chrome浏览器用于测试,适配Vue3+vite项目

安装多个低版本谷歌Chrome浏览器用于测试&#xff0c;适配Vue3vite项目 问题&#xff1a;使用vue3tsvite搭建了一个项目&#xff0c;在chrome新版本浏览器上无问题&#xff0c;但是部署到现场页面直接空白&#xff0c;且控制台报错&#xff1a; Uncaugnt SyntaxError: Unexpe…...

UI组件---如何设置el-pagination分页组件的背景色

1. 要替换 el-pagination 组件的背景色&#xff0c;您可以通过自定义CSS来实现。 具体的CSS规则取决于您想要更改的是哪个部分的背景色&#xff0c;例如普通页码、活跃页码、上下导航箭头等。以下是一些示例CSS规则&#xff0c;您可以根据自己的需求进行调整&#xff1a; /* …...

LabVIEW编程过程中为什么会出现bug?

在LabVIEW编程过程中&#xff0c;Bug的产生往往源自多方面原因。以下从具体的案例角度分析一些常见的Bug成因和调试方法&#xff0c;以便更好地理解和预防这些问题。 ​ 1. 数据流错误 案例&#xff1a;在一个LabVIEW程序中&#xff0c;多个计算节点依赖相同的输入数据&#…...

论文阅读《Structure-from-Motion Revisited》

摘要 增量式地运动结构恢复是从无序图像集合中进行三维重建的一个普遍策略。虽然增量式地重建系统在各个方面上都取得了巨大的进步&#xff0c;但鲁棒性、准确性、完整度和尺度仍然是构建真正通用管道的关键问题。我们提出了一种新的运动结构恢复技术&#xff0c;它改进了目前…...

RK android14 第三方app获取su权限

需要修改的地方如下 frameworks/base/core/jni/com_android_internal_os_Zygote.cpp kernel-6.1/security/commoncap.c system/core/init/selinux.cpp system/core/libcutils/fs_config.cpp system/extras/su/su.cpp device/rockchip/common/BoardConfig.mk device/rockchip…...

线程与进程的区别(面试)

一.进程 进程&#xff1a;一个程序启动起来&#xff0c;就会对应一个进程&#xff0c;进程就是系统分配资源的基本单位。 上面一部分进程是我们自己去执行应用的可执行文件, 而另一部分是操作系统自动启动的进程. 二.线程 线程&#xff1a;线程是进程中的一个执行单元&#xff…...

OpenDroneMap Webodm

OpenDroneMap & Webodm OpenDroneMap Webodm 开源无人机航拍系列图像及其它系列图像三维重建软件。很棒的开源无人机测绘软件OpenDroneMap,从航拍图像生成精确的地图、高程模型、3D 模型和点云。 应用领域 Mapping & Surveying 测绘和测量 从图像测量获得高精度的可…...

做网站的基本要求/关键词怎么找出来

本周发布了流行JavaScript运行时的最新版本Node.js 13&#xff0c;其中强调了工作线程&#xff0c;编程增强和国际化功能。 Node.js 13将Node.js 12替换为“当前”版本&#xff0c;但Node.js 12仍然是长期支持&#xff08;LTS&#xff09;版本。 因此&#xff0c;不建议将Node…...

网站源码怎么上传/seo怎么优化步骤

参考了几篇博客后&#xff0c;整理出的适合自己的方法 1.https://blog.csdn.net/doniexun/article/details/45438457 想修改窗口大小的话可以参看下面的博客&#xff1a; 2.https://blog.csdn.net/m0_37822685/article/details/80241598 3.masm的使用可以参看这一篇博客&…...

用dw做网站导航的步骤/发文章用哪个平台比较好

咔咔博客之结构体转json 在这一节我们将会介绍几个新的知识点 interface{}init() 案例 在这里会发现我们的类型是打印出来了&#xff0c;但是没有值&#xff0c;这是怎么个回事 那我们在来看一下这个案例 发现这个时候就会把值打印出来了&#xff0c;并且是一个json 那么上…...

免费搭建私人网站/武汉谷歌seo

github上的本文地址 开源中文输入法 在Windows上面中文拼音输入法数不胜数。简单数了一下自己用过&#xff0c;就有六种以上&#xff1a; 智能ABC微软拼音紫光拼音搜狗输入法谷歌输入法QQ输入法......可参考wikipedia 中文输入法列表&#xff0c;以及小众软件 我最喜欢的《拼音…...

com域名购买/广州seo网站管理

一、前言 虹科Panorama是一个用于构建数据采集、SCADA和历史解决方案的软件套件&#xff0c;它主要包含三种不同软件产品&#xff0c;分别是Panorama COM&#xff08;智能、独立的通信前端&#xff09; 、Panorama E2&#xff08;SCADA平台&#xff09;、Panorama H2&#xff…...

阿里云搭载wordpress/淄博新闻头条最新消息

中新社南宁1月15日电 (记者 蒋雪林)广西壮族自治区公安厅15日提供的消息显示&#xff0c;2018年&#xff0c;广西警方严厉打击食品、药品、环境等领域违法犯罪活动。据统计&#xff0c;广西共侦破食品、药品、环境犯罪案件234起&#xff0c;抓获犯罪嫌疑人670人&#xff0c;涉案…...