Spring IOC相关例题及解析
🌊 作者主页:海拥
🌊 简介:🏆CSDN全栈领域优质创作者、🥇HDZ核心组成员、🥈蝉联C站周榜前十
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”></bean>
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也是错误的。
🌊 行业资料:精品PPT模板几千套,简历模板一千多套
🌊 面试题库:Java核心知识点大全和面试真题资料
🌊 学习资料:2300套PHP建站源码,微信小程序入门资料,Python全集(400集)
🌊 学习交流群:点击此处进入
公众号【海拥】内回复【资源】获取以上所有资料
我已经写了很长一段时间的技术博客,这是我的一篇Spring IOC相关例题及解析教程。我乐于通过文章分享技术与快乐。您可以访问我的博客主页: 华为云-海拥、我的个人博客:haiyong.site 以了解更多信息。希望你们会喜欢!
- 点赞
- 收藏
- 关注作者
评论(0)