首页/ 学科题库/ spring/ Spring核心概念专题
spring 专题精讲

Spring核心概念专题

1 篇文章 17 道配套习题

Spring核心概念专题

专题说明

本专题深入讲解Spring框架的核心设计理念,包括IoC控制反转、DI依赖注入、容器类型、配置元数据等核心概念。

学习目标

  1. 理解IoC控制反转的设计思想
  2. 掌握DI依赖注入的实现方式
  3. 区分BeanFactory和ApplicationContext
  4. 了解配置元数据的多种形式

学习内容

  • IoC(控制反转):设计原则与实现
  • DI(依赖注入):IoC的具体落地方式
  • 容器类型:BeanFactory与ApplicationContext对比
  • 配置元数据:XML、注解、Java配置

学习建议

IoC/DI是Spring的灵魂,务必深刻理解其本质。容器类型的区别决定了应用的功能范围。

配套习题(17 题)

参考答案在文末
判断题
1
判断题

Spring IoC容器的主要职责是创建Bean、管理Bean之间的依赖关系、以及控制Bean的生命周期。

A

对

B

错

2
判断题

Aware接口(如ApplicationContextAware)在属性注入完成之后、初始化回调之前执行。

A

对

B

错

3
判断题

Setter注入适合可选依赖的场景,可以在Bean创建后重新改变依赖。

A

对

B

错

单选题
4
单选题

Spring Bean生命周期中,BeanPostProcessor的作用是?

A

创建Bean实例

B

在初始化前后对Bean进行自定义处理

C

执行Bean销毁回调

D

解析依赖关系

5
单选题

Spring如何解决Setter注入的循环依赖问题?

A

直接抛出异常,无法解决

B

使用三级缓存机制提前暴露半成品Bean

C

使用构造器注入替代

D

强制使用@Lazy延迟注入

6
单选题

关于BeanFactory和ApplicationContext的Bean加载策略,正确说法是?

A

BeanFactory启动时预加载所有单例Bean

B

ApplicationContext按需懒加载Bean

C

BeanFactory懒加载,ApplicationContext预加载单例Bean

D

两者加载策略完全相同

7
单选题

Spring依赖注入的三种主要方式是?

A

构造器注入、Setter注入、接口注入

B

构造器注入、Setter注入、字段注入

C

构造器注入、方法注入、接口注入

D

Setter注入、字段注入、工厂注入

8
单选题

BeanPostProcessor会对容器中的所有Bean进行处理,但不会处理哪些Bean?

A

singleton作用域的Bean

B

prototype作用域的Bean

C

BeanPostProcessor自身及其依赖的Bean

D

使用@Lazy标注的Bean

9
单选题

ApplicationContext相比BeanFactory的主要优势是?

A

更低的内存占用

B

更快的启动速度

C

提供更多企业级功能(国际化、事件发布、AOP集成等)

D

只支持XML配置

10
单选题

IoC(Inversion of Control)的中文含义是?

A

面向切面编程

B

控制反转

C

依赖注入

D

依赖查找

多选题
11
多选题

构造器注入相比字段注入的优势包括?

A

依赖不可变(可使用final字段)

B

更易于单元测试(可手动构造)

C

明确表达必需依赖

D

无需使用@Autowired注解(单构造器时)

12
多选题

字段注入(@Autowired标注字段)的主要缺点包括?

A

难以单元测试(需要反射或Mock框架)

B

依赖可变性差(无法使用final)

C

依赖关系不透明(类外部看不出依赖)

D

容易隐藏空指针问题

13
多选题

以下哪些接口可以参与Spring Bean生命周期?

A

BeanNameAware

B

BeanFactoryAware

C

InitializingBean

D

DisposableBean

14
多选题

以下哪些是ApplicationContext的实现类?

A

ClassPathXmlApplicationContext

B

FileSystemXmlApplicationContext

C

AnnotationConfigApplicationContext

D

XmlBeanFactory

填空题
15
填空题

在XML中,构造器注入使用标签,Setter注入使用标签;通过属性引用其他Bean,通过value属性设置基本类型值。

16
填空题

Spring Bean完整生命周期顺序:实例化 → 属性注入 →→ BeanPostProcessor前置 →→→ init-method → BeanPostProcessor后置 → 使用 →@PreDestroy→ DisposableBean → destroy-method。

17
填空题

IoC是的设计思想,DI是的实现方式;Spring通过容器实现IoC/DI,管理Bean的创建和依赖。

参考答案
1.正确 2.正确 3.正确 4.B 5.B 6.C 7.B 8.C 9.C 10.B 11.A;B;C;D 12.A;B;C;D 13.A;B;C;D 14.A;B;C 15.constructor-arg;property;ref 16.Aware接口回调;InitializingBean;@PostConstruct 17.控制反转;依赖注入;ApplicationContext
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 Spring入门基础专题 下一个专题 → Spring配置方式专题