【基于轻量型架构的WEB开发】课程 作业3 Spring框架
一. 单选题(共12题,48分)
1. (单选题)以下有关Spring框架优点的说法不正确的是( )。
A. Spring就大大降低了组件之间的耦合性。
B. Spring是一种侵入式框架
C. 在Spring中,可以直接通过Spring配置文件管理数据库事务,省去了手动编程的繁琐,提高了开发效率。
D. Spring对Java EE开发中的一些API(如JDBC、JavaMail等)都进行了封装,大大降低了这些API的使用难度。
正确答案:B
答案解析:Spring是非侵入式的框架,不会影响原有代码
2. (单选题)下列选项中,关于<constructor-arg>元素说法错误的是( )。
A. <constructor-arg>元素用于给类的构造方法的参数注入值
B. 一个<constructor-arg>元素表示构造方法的一个参数
C. <constructor-arg>元素定义构造方法的参数,必须顺序和类中构造方法参数的顺序保持一致。
D. <constructor-arg>元素的type属性用于指定参数的类型
正确答案:C
答案解析:<constructor-arg>定义时不区分顺序,详见教材p89
3. (单选题)以下有关依赖注入说法错误的是()。
A. 依赖注入(DI)与控制反转(IoC)的含义不同,描述不同的概念
B. 在传统模式下,调用者通常会采用“new 被调用者”的代码方式来创建对象,这种方式会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护
C. 在使用Spring框架之后,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转
D. 从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入了依赖的实例,这就是Spring的依赖注入
正确答案:A
答案解析:依赖注入和控制反转是从不同角度来描述了同一件事情,见教材88页
4. (单选题)<bean id="user" class="com.itheima.User"> <constructor-arg name="id" value="1"></constructor-arg> <constructor-arg name="name" value="张三"></constructor-arg> <constructor-arg name="password" value="123"></constructor-arg> </bean> 关于以上代码段,下列选项中描述错误的是( )。
A. <bean>元素实例化实体类
B. <bean>元素中的class属性指定待实例化的相对路径类名
C. <constructor-arg>元素为实体类中的属性赋值
D. <constructor-arg>元素中的name属性指定参数
正确答案:B
答案解析:class指定对象所属类的(全路径)全限定名
5. (单选题)Spring容器默认的作用域是( )。
A. prototype
B. request
C. session
D. singleton
正确答案:D
答案解析:默认为单例模式
6. (单选题)实例工厂实例化Bean时,指向为Bean配置的实例工厂的属性是( )。
A. factory-method
B. factory-methods
C. factory-bean
D. factory-name
正确答案:C
答案解析:factory-bean指向配置的实例工厂factory-method指向使用工厂中的哪个方法
7. (单选题)下列选项中,关于Spring注解的描述错误的是( )。
A. @Autowired指定要自动装配的对象
B. @Repository指定要自动装配的对象名称
C. @Service指定一个业务逻辑组件 Bean
D. @Controller指定一个控制器组件Bean
正确答案:B
答案解析:@Repository表示dao层的bean
8. (单选题)下列选项中,对<bean>元素中的属性说法错误的是( )。
A. id 属性是<bean>元素的唯一标识符
B. name 属性可以为 Bean 指定名称,只能指定一个名称
C. class 属性可以指定 Bean 的具体实现类
D. scope 属性用于设定 Bean 实例的作用范围
正确答案:B
答案解析:name可以指定多个名称,用逗号或分号隔开,见教材p94
9. (单选题)Spring容器中用于监控Bean对象初始化节点的注解是( )。
A. @PostConstruct
B. @PreDestroy
C. @GetConstruct
D. @Destroy
正确答案:A
答案解析:见教材106页
10. (单选题)以下有关Spring常用的注解说明错误的是( )。
A. @Autowired指定要注入的对象
B. @Repository指定一个数据访问组件Bean,用于将数据访问层的类标识为Spring 中的Bean,功能上等同于@Component
C. @Service指定一个业务逻辑组件Bean,用于将业务逻辑层的类标识为Spring中的Bean,功能上等同于@Component
D. @Controller指定一个控制器组件Bean,用于将控制层的类标识为Spring中的Bean,功能上等同于@Component
正确答案:A
答案解析:Resource指定要注入的对象
11. (单选题)Spring容器支持多种形式的Bean的装配方式,错误的是()。
A. 基于XML的装配
B. 基于properties的装配
C. 基于注解的装配
D. 自动装配
正确答案:B
答案解析:bean的装配不包括基于properties文件的装配
12. (单选题)在ApplicationContext接口实现类中从类路径加载配置文件,实例化ApplicationContext接口的类方法是( )。
A. WebApplicationContext
B. AnnotationConfigApplicationContext
C. ClassPathXmlApplicationContext
D. FileSystemXmlApplicationContext
正确答案:C
答案解析:见教材94页
二. 多选题(共4题,16分)
13. (多选题)下列选项中,对Spring框架的优点描述正确的有( )。
A. 支持AOP编程
B. 支持声明式事务
C. 降低耦合性,方便开发
D. 降低Java EE API的使用难度
正确答案:ABCD
答案解析:见教材81页
14. (多选题)下列选项中,属于<constructor-arg>元素的属性的有( )。
A. value
B. type
C. id
正确答案:AB
答案解析:见教材95页
15. (多选题)以下关于Spring对Bean生命周期的管理说法正确的是( )。
A. Spring容器可以管理singleton作用域中Bean的生命周期
B. 在prototype作用域中, Spring容器只负责创建Bean实例,不会管理其生命周期
C. 每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期
D. 了解Bean的生命周期的意义就在于,可以在某个Bean生命周期的某些指定时刻完成一些相关操作
正确答案:ABD
答案解析:单例只会创建一次,见教材106页
16. (多选题)以下有关Bean的singleton作用域说法正确的有( )。
A. singleton是Spring容器默认的作用域
B. 当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例
C. singleton作用域可以避免反复创建和销毁实例造成的资源消耗
D. Bean的作用域是通过<bean>元素的scope属性来指定的,该属性值有5个值,对应5种作用域
正确答案:ABCD
答案解析:见教材100页
三. 判断题(共7题,28分)
17. (判断题)控制反转(Inversion of Control,缩写为IoC)用来降低程序代码之间的耦合度。
A. 对
B. 错
正确答案:对
18. (判断题)Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为applicationContext.xml。
A. 对
B. 错
正确答案:对
19. (判断题)Spring的<bean>元素中包含一个autowire属性,可以通过设置autowire属性的值实现Bean的自动装配。
A. 对
B. 错
正确答案:对
20. (判断题)在Bean的两种作用域singleton和prototype中,Spring容器对Bean的生命周期的管理是相同的。
A. 对
B. 错
正确答案:错
答案解析:singleton作用域的Bean,Spring容器会管理其完整生命周期;而prototype作用域的Bean,Spring容器仅负责实例化,不管理其完整生命周期。
21. (判断题)Spring提供了3种基于XML的装配方式:设值注入、属性setter方法注入和构造方法注入。
A. 对
B. 错
正确答案:错
答案解析:Spring提供了两种基于XML的装配方式:属性setter方法注入和构造方法注入。
22. (判断题)构造方法实例化是通过Bean对应类中默认的无参构造方法来实例化Bean。
A. 对
B. 错
正确答案:对
答案解析:构造方法实例化通常使用带有参数的构造方法,而不是无参构造方法。
23. (判断题)FileSystemXmlApplicationContext 从文件系统加载配置文件,实例化 ApplicationContext 接口。
A. 对
B. 错
正确答案:对
答案解析:
见教材94页
四. 填空题(共2题,8分)
24. (填空题)<constructor-arg>元素用于指定参数值的属性是value和【】。
正确答案:ref
答案解析:value指定基本数据类型的常量值,ref指定另一个bean。
25. (填空题)在Spring配置文件中,Bean的作用域是通过<bean>元素的【】属性来指定的。
正确答案:scope
答案解析:scope属性用于指定Bean的作用域,如singleton、prototype等。
相关文章:
【基于轻量型架构的WEB开发】课程 作业3 Spring框架
一. 单选题(共12题,48分) 1. (单选题)以下有关Spring框架优点的说法不正确的是( )。 A. Spring就大大降低了组件之间的耦合性。 B. Spring是一种侵入式框架 C. 在Spring中,可以直接通过Spring配置文件管理…...

14.最长公共前缀-力扣(LeetCode)
题目: 解题思路: 解决本题的关键点是确定扫描的方式,大体上有两种方式:横向扫描和纵向扫描。 1、横向扫描:首先比较第一个字符串和第二个字符串,记录二者的公共前缀,然后用当前公共前缀与下一个…...

客户案例|智能进化:通过大模型重塑企业智能客服体验
01 概 述 随着人工智能技术的快速发展,客户对服务体验的期待和需求不断升级。在此背景下,大模型技术的崛起,为智能客服领域带来了创造性的变革。 在上篇文章《在后LLM时代,关于新一代智能体的思考》中有提到,智能客服…...
Flink Job更新和恢复
Checkpoints 的主要目的是为意外失败的作业提供恢复机制。 Savepoints的设计更侧重于可移植性和操作灵活性,尤其是在 job 变更方面。Savepoint 的用例是针对计划中的、手动的运维。例如,可能是更新你的 Flink 版本,更改你的作业图等等。 fli…...
读多写少业务中,MySQL如何优化数据查询方案?
小熊学Java站点:https://www.javaxiaobear.cn 编程资料合集:https://pqgmzk7qbdv.feishu.cn/base/QXq2bY5OQaZiDksJfZMc30w5nNb?from=from_copylink 看一看当面试官提及“在读多写少的网络环境下,MySQL 如何优化数据查询方案”时,你要从哪些角度出发回答问题??? 案例…...

Bugku CTF_Web——点login咋没反应
Bugku CTF_Web——点login咋没反应 进入靶场 随便输个试试 看来确实点login没反应 抓包看看 也没有什么信息 看了下源码 给了点提示 一个admin.css try ?12713传参试试 拿到一个php代码 <?php error_reporting(0); $KEYctf.bugku.com; include_once("flag.php&q…...

attention 注意力机制 学习笔记-GPT2
注意力机制 这可能是比较核心的地方了。 gpt2 是一个decoder-only模型,也就是仅仅使用decoder层而没有encoder层。 decoder层中使用了masked-attention 来进行注意力计算。在看代码之前,先了解attention-forward的相关背景知识。 在普通的self-atten…...
什么是HTTP,什么是HTTPS?HTTP和HTTPS都有哪些区别?
什么是 HTTP? HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,用于在互联网上进行数据通信。它定义了客户端(通常是浏览器)和服务器之间的请求和响应格式。HTTP 是无状态的…...

SkyWalking-安装
SkyWalking-简单介绍 是一个开源的分布式追踪系统,用于检测、诊断和优化分布式系统的功能。 支持 ElasticSearch、H2、MySQL、PostgreSql 等数据库 基于 ElasticSearch 的情况 ElasticSearch(ES) 安装 1、下载并解压 https://www.elastic…...

RabbitMQ运维
1. 单机多节点 1.1 搭建RabbitMQ ①安装RabbitMQ 略 ②确认RabbitMQ运⾏没问题 #查看RabbitMQ状态 rabbitmqctl status 节点名称: 端口号: 25672:Erlang分布式节点通信的默认端⼝, Erlang是RabbitMQ的底层通信协议.15672: Web管理界⾯的默认端⼝, 通过这个端⼝可以访问R…...
Go语言并发精髓:深入理解和运用go语句
Go语言并发精髓:深入理解和运用go语句 在Go语言的世界里,go语句是实现并发的核心,它简洁而强大,允许程序以前所未有的方式运行多个任务。本文将深入探讨go语句及其执行规则,揭示Go语言并发编程的内在机制,并提供实际案例帮助读者掌握其用法。 1. go语句的基本概念(Wha…...

基于STM32的智能家居系统:MQTT、AT指令、TCP\HTTP、IIC技术
一、项目概述 随着智能家居技术的不断发展,越来越多的家庭开始使用智能设备来提升生活质量和居住安全性。智能家居系统不仅提供了便利的生活方式,还能有效地监测家庭环境,保障家庭安全。本项目以设计一种基于STM32单片机的智能家居系统为目标…...

分糖果(相等分配)
题目:有n种不同口味的糖果,第i种糖果的数量为a[i],现在需要把糖果分给m个人。分给每个人糖果的数量必须是相等的,并且每个人只能选择一种糖果。也就是说,可以把一种糖果分给多个人,但是一个人的糖果不能有多…...
docker构建jdk11
# 建立一个新的镜像文件,配置模板:新建立的镜像是以centos为基础模板 # 因为jdk必须运行在操作系统之上 FROM centos:7.9.2009# 作者名 MAINTAINER yuanhang# 创建一个新目录来存储jdk文件 RUN mkdir /usr/local/java#将jdk压缩文件复制到镜像中&#…...
唐帕科技校园语音报警系统:通过关键词识别,阻止校园霸凌事件
校园霸凌问题已成为全球教育领域的严峻挑战,给受害者带来了身心上的长期创伤。然而,随着科技的发展,尤其是人工智能和语音识别技术的不断进步,我们开始看到创新性解决方案的出现。校园语音报警系统便是其中一种利用技术手段保护学…...
酒店行业数据仓库
重要名词: PMS:酒店管理系统CRS:中央预定系统客户:可以分为会员、散客(自行到店入住)、协议(与酒店长期合作,内部价)、中介预定:可以分为线上预定、线下预定…...

A029-基于Spring Boot的物流管理系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
Python Day5 进阶语法(列表表达式/三元/断言/with-as/异常捕获/字符串方法/lambda函数
Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据。 其语法格式如下所示,其中 [if 条件表达式] 可省略。 [表达式 for 迭代变量…...

一文了解Android的核心系统服务
在 Android 系统中,核心系统服务(Core System Services)是应用和系统功能正常运行的基石。它们负责提供系统级的资源和操作支持,包含了从启动设备、管理进程到提供应用基础组件的方方面面。以下是 Android 中一些重要的核心系统服…...
Scala的Array(1)
Scala的Array表示长度不可变的数组,若需要定义可变数组需要倒包 import scala.collection.mutable.ArrayBuffer 下面是关于Array的一些用法: import scala.collection.mutable.ArrayBufferobject test29 { // //不可变数组 Array // def main(args:…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...