全部学科
Python全栈
python
NodeJS全栈
nodejs

Spring 容器扩展点专项测试

20 题 40 分钟 难度:★★

考察知识点

  • BeanPostProcessor接口与作用
  • BeanFactoryPostProcessor接口
  • Aware接口系列(BeanNameAware、ApplicationContextAware等)
  • InitializingBean与DisposableBean
  • 自定义容器扩展实现
💡 参考答案在文末
判断题
1

Spring提供了多个Aware子接口,如BeanNameAware可以获取Bean的名称,EnvironmentAware可以获取环境配置信息。

A

B

2

BeanFactoryAware的setBeanFactory()方法在Bean的属性填充之后、初始化方法(如@PostConstruct)执行之前被调用。

A

B

3

使用BeanFactoryAware获取BeanFactory引用是Spring推荐的依赖获取方式,应优先于@Autowired注解使用。

A

B

4

SmartInitializingSingleton的afterSingletonsInstantiated()方法在BeanPostProcessor处理完成后才执行。

A

B

5

InitializingBean接口定义了afterPropertiesSet()方法,该方法在Bean的所有属性被设置之后自动调用,用于执行初始化逻辑。

A

B

6

DisposableBean接口的destroy()方法在Bean被销毁时调用,用于释放资源,如关闭数据库连接、文件句柄等。

A

B

7

当一个Bean同时使用@PostConstruct注解和实现InitializingBean接口时,@PostConstruct方法先于afterPropertiesSet()方法执行。

A

B

8

SmartInitializingSingleton接口只适用于单例作用域的Bean,原型作用域的Bean不会触发该接口的方法调用。

A

B

9

Aware接口的方法调用发生在Bean的属性填充阶段,而不是初始化阶段。

A

B

10

Aware接口是Spring提供的一个标记接口,本身不定义任何方法,用于表明实现类需要从Spring容器获取某种资源。

A

B

11

BeanFactoryAware接口允许Bean获取对其所在BeanFactory的引用,从而可以以编程方式查找或操作其他Bean。

A

B

单选题
12

Spring设计Aware接口系列的主要目的是?

A

提供Bean之间的通信机制

B

让Bean能够感知并获取Spring容器的内部资源

C

实现Bean的自动装配功能

D

提供Bean的配置管理能力

13

ApplicationListener接口在Spring事件机制中的作用是?

A

定义事件的类型

B

监听并处理特定类型的ApplicationEvent

C

发布事件到容器

D

创建自定义事件对象

14

以下哪个是Spring容器启动完成时发布的内置事件?

A

ContextStartedEvent

B

ContextRefreshedEvent

C

ContextClosedEvent

D

ContextStoppedEvent

15

创建自定义Spring事件需要继承哪个类?

A

java.util.EventObject

B

ApplicationEvent

C

EventListener

D

ApplicationListener

16

SmartInitializingSingleton接口的afterSingletonsInstantiated()方法在什么时候被调用?

A

每个Bean实例化后立即调用

B

所有单例Bean实例化完成后调用一次

C

容器启动时调用

D

容器关闭时调用

17

SmartInitializingSingleton与InitializingBean的主要区别是?

A

SmartInitializingSingleton只适用于单例Bean

B

InitializingBean在每个Bean初始化时调用,SmartInitializingSingleton全局只调用一次

C

SmartInitializingSingleton在InitializingBean之前执行

D

InitializingBean是注解,SmartInitializingSingleton是接口

18

InitializingBean接口定义的初始化方法名称是?

A

init()

B

initialize()

C

afterPropertiesSet()

D

onInit()

19

BeanFactoryAware接口中定义的方法名称是?

A

setFactory(BeanFactory factory)

B

setBeanFactory(BeanFactory beanFactory)

C

injectBeanFactory(BeanFactory beanFactory)

D

configureBeanFactory(BeanFactory beanFactory)

多选题
20

在Spring中监听事件可以通过哪些方式实现?

A

实现ApplicationListener接口

B

使用@EventListener注解

C

使用@TransactionalEventListener注解

D

实现Observer接口

参考答案
1.正确 2.正确 3.错误 4.正确 5.正确 6.正确 7.正确 8.正确 9.错误 10.正确 11.正确 12.B 13.B 14.B 15.B 16.B 17.B 18.C 19.B 20.A;B;C
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 Spring 事务专项测试
下一套试卷 → Spring 性能调优专项测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码