Spring IOC相关例题及解析

给大家安利一个免费且实用的前端刷题(面经大全)网站,👉点击跳转到网站

直接跳到末尾 去评论区领书

1、(单选题)下列关于Spring特性中IOC描述错误的是:()

A.IOC就是指程序之间的关系由程序代码直接操控。
B.所谓“控制反转”,是指控制权由应用代码转到外部容器,控制权的转移
C.IOC将控制创建的职责搬进了框架中;并把它从应用代码脱离开来
D.当使用Spring的IOC容器时只需指出组件需要的对象,在运行时Spring的IOC容器会根据XML配置数据提供给它。

【正确答案】A
【答案解析】IOC是控制反转,是将代码中的操控权转到容器里去控制

2、(单选题)Spring的组成一共有( )块组成

A.1
B.3
C.5
D.7
【正确答案】D
【答案解析】Spring框架有七个模块组成,分别是:
Spring 核心容器(Core)
Spring AOP
Spring ORM
Spring DAO
Spring WEB
Spring上下文(Context)
Spring MVC

3、(单选题)下面关于spring描述错误的是:( )

A.Spring支持可插入的事务管理器,使事务划分更轻松,同时无需处理底层的问题。
B.Spring事务管理的通用抽象层还包括JTA策略和一个JDBC DataSource。
C.Spring的事务支持且依赖于Java EE环境。
D.Spring事务语义通过AOP应用于 POJO,通过XML或Java SE 5注释进行配置。
【正确答案】C
【答案解析】Spring的事务支持并不依赖于Java EE环境

4、(多选题)IOC有哪几种注入方式()

A.构造函数注入
B.属性注入
C.接口注入
D.以上都不对
【正确答案】A,B,C
【答案解析】IOC具有三种注入方式,分别是构造函数注入、属性注入和接口注入。

5、(多选题)对于以下配置,说法正确的是( )

<bean id="eb1" class="ioc.ExampleBean" 
		init-method="init"

destroy-method=“destroy” lazy-init=“true”>
A.init-method用于指定初始化方法。
B.destroy-method用于指定销毁方法。
C.所有bean中的初始化方法名必须命名为init。
D.lazy-init如果为true,表示延迟实例化。
【正确答案】A,B,D
【答案解析】考查容器如何管理bean的生命周期。初始化方法和销毁方法的命名无特定要求,故C是错误的。

6、(多选题)以下这段配置,说法正确的是( )

<bean id="bar1" class="ioc.autowire.Bar" autowire="byName"/>

A.容器会采取自动装配的方式来建立依赖关系。
B.byName指定的是查找与属性名称一致的bean,调用set方法来完成注入。
C.byName有可能找到多个符合条件的bean,会出错。
D.autowire的值还可以是byType和constructor。
【正确答案】A,B,D
【答案解析】考查DI的基础知识,容器可以依据属性名称或者类型来完成自动装配,如果值为byName,容器会查找与属性名称一致的bean,并调用对应的set方法来完成注入。 因为本题中bar1是bean的id,所以是唯一的,所以不可能找到多个符合要求的bean。

7、(多选题)以下这段配置,说法正确的是( )

<util:properties id="config" location="classpath:config.properties"/>
<bean id="db" class="ioc.common.DemoBean">
		<property name="brand" value="#{mp.brand}"/>
		<property name="interest" value="#{user.interest[1]}"/>
		<property name="city" value="#{user.cities[1]}"/>
		<property name="score" value="#{user.scores.english}"/>
		<property name="pwd" value="#{user.info.pwd}"/>
		<property name="pagesize" value="#{config.pagesize}"/>
		<property name="type" value=""/>
</bean>

A.spring表达式语法非常类似el表达式。
B.spring表达式可以读取bean或者集合中的数据。
C.#{user.interest[1]} 表示读取id为user的bean的inerest属性,该属性值是一个List集合,1表示集合中的下标。
D.value="“是错误的用法。
【正确答案】A,B,C
【答案解析】考查spring表达式的用法,value=”"表示赋值为空字符串,是正确的。

8、(多选题)下列关于Spring容器说法正确的是( )
A.在Spring中,任何的Java类和JavaBean都可以被当成Bean处理,这些Bean通过容器管理和使用。
B.Spring容器实现了IOC和AOP机制,这些机制可以简化Bean对象创建和Bean对象之间的解耦。
C.Spring容器提供了运行Servlet所需要的环境。
D.Spring容器有BeanFactory和ApplicationContext等类型。
【正确答案】A,B,D
【答案解析】此题目考查的是对Spring容器的基本认识。运行Servlet需要符合Servlet规范的容器,比如Tomcat。 Spring容器是Spring框架的核心组成模块,其它选项从各个方面描述了Spring容器的一些特点,故是正确的。

9、(多选题)以下这段配置,说法正确的是( )。

<bean id="mp" class="ioc.set.MobilePhone">
		<property name="brand" value="华为mate8"/>
		<property name="cpu" value="麒麟"/>
		<property name="ram" value="2G"/>
</bean>

A.这里采用了set方式注入。
B.这里采用了构造器方式注入。
C.MobilePhone类一定有setBrand方法。
D.MobilePhone类一定有brand属生。
【正确答案】A,C
【答案解析】注意,依据以上配置,spring容器会去调用setBrand方法,但并不表名MobilePhone类一定具有brand属性。以上配置不属于构造方法注入方式。

10、(多选题)下面关于Spring的说法正确的是( )
A.Spring是一个重量级的框架
B.Spring是一个轻量级的框架
C.Spring是一个包含IOC和AOP两大特性的容器
D.Spring是一个入侵式的框架
【正确答案】B,C
【答案解析】Spring是一个轻量级框架,主要的两个模块是Spring IOC和Spring AOP

11、(多选题)下面关于IOC的理解,正确的是( )
A.控制反转
B.对象被动的接受依赖类
C.对象主动的去找依赖类
D.一定要用接口
【正确答案】A,B
【答案解析】Spring IOP即“控制反转”,对象只是被动的接收依赖对象

12、(多选题)下列关于Spring说法正确的有( )。
A.Spring是一个开源的轻量级的应用开发框架。
B.Spring为系统提供了一个整体解决方案。
C.Spring是一种开发语言。
D.Spring提供的IOC和AOP功能,可以将组件的耦合度降至最低,即解耦,便于系统日后的维护和升级。
【正确答案】A,B,D
【答案解析】此题目考查的是对Spring框架的基本认识。
Spring是应用开发框架,而不一种编程语言,所以C是错误的。其它选项是从不同角度描述Spring框架的优点,都是正确的。

13、(多选题)下列关于bean的生命周期,说法正确的是( )。
A.每个bean都必须提供相应的生命周期方法。
B.销毁方法只适用于singleton模式的bean。
C.销毁方法可以运行多次。
D.初始化方法只会执行一次。
【正确答案】B,D
【答案解析】考查容器如何管理bean的生命周期。在设计bean时,依据实际业务的需要,可以为bean提供相应的生命周期方法,比如在初始化方法当中完成资源加载等类似的逻辑,在销毁方法中释放资源。因此bean当中是否有生命周期相关的方法,完成取决于实际业务需要,并不是必须的,所以答案A是错误的。销毁方法用于释放资源,只需要执行一次,所以答案C也是错误的。

🥇 评论区抽粉丝送书啦

💌 欢迎大家在评论区提出意见和建议!(抽两位幸运儿送书,实物图如下)💌

在这里插入图片描述

《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》

【内容简介】

电子元器件是电路设计的基础,而电阻、电容和电感又是电路设计中使用非常普遍的电子元器件。本书从物理层面来阐述这三类元器件的实现原理,帮助读者更好地理解这三类电子元器件的电气特性及其在电路中的应用。
  华为OpenHarmony首席架构师力荐教材:本书通过75个实战示例+4个大型综合性案例+大量即用型优质代码,手把手教你快速掌握HarmonyOS应用开发核心技术!技术新颖,层次清晰。基于最新的HarmonyOS 2.0技术展开,内容由浅及深、层层推进,便于实际工作中即学即用。案例丰富、实战性强。

也有不想靠抽,想自己买的同学可以参考下面的链接

京东自营购买链接:

《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》- 京东图书

当当自营购买链接:

《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》- 当当图书

📣 注意:

大家点赞关注,三天后也就是 5月2日 从评论区留言的同学中抽取两位送书

🌊 面试题库:Java、Python、前端核心知识点大全和面试真题资料
🌊 办公用品:精品PPT模板几千套,简历模板一千多套
🌊 学习资料:2300套PHP建站源码,微信小程序入门资料

如果中奖了联系不上则视为放弃,可以从下方公众号里找到作者的联系方式,每周都会送十本书,后面送书力度还会加大,一年送几百上千本不是问题,备注【进群】领书不迷路,群内 每位成员 我都会送一本。备注【资源】可获取上面的资料👇🏻👇🏻👇🏻

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海拥✘

“听说赞赏的人运气会爆棚哦!”

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值