首页/ 学科题库/ SpringBoot/ 自动配置原理专项测试
SpringBoot 模拟试卷

自动配置原理专项测试

20 题 40 分钟 难度:★★
  • @EnableAutoConfiguration工作原理
  • 条件注解@Conditional系列
  • SPI机制与spring.factories
  • 自动配置类加载流程

试卷习题(20 题)

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

Spring Boot的自动配置可以被用户自定义的配置覆盖,用户定义的Bean优先于自动配置的Bean。

A

对

B

错

2
判断题

AutoConfigurationImportSelector会根据@Conditional条件注解过滤自动配置类,不满足条件的配置类不会被加载。

A

对

B

错

3
判断题

@EnableAutoConfiguration注解会自动扫描项目中的所有@Component、@Service、@Controller等注解标注的类。

A

对

B

错

单选题
4
单选题

Spring Boot 2.7之后,自动配置类通过哪个文件注册?

A

META-INF/spring.factories

B

META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

C

application.properties

D

META-INF/config/spring.xml

5
单选题

Spring Boot的自动配置类主要存放在哪个模块中?

A

spring-boot-core

B

spring-boot-autoconfigure

C

spring-boot-starter-web

D

spring-context

6
单选题

@EnableAutoConfiguration注解通过@Import导入哪个类来实现自动配置类的加载?

A

ConfigurationClassPostProcessor

B

AutoConfigurationImportSelector

C

ComponentScanAnnotationParser

D

BeanDefinitionLoader

7
单选题

如何排除Spring Boot的某个自动配置类?

A

在application.yml中配置spring.autoconfigure.exclude

B

在@SpringBootApplication注解中使用exclude属性

C

两种方式都可以

D

无法排除自动配置

8
单选题

@ConditionalOnBean注解检查的是什么条件?

A

classpath中是否存在指定类

B

Spring容器中是否存在指定Bean

C

配置文件中是否存在指定属性

D

JVM中是否存在指定对象

9
单选题

@ConditionalOnClass注解的作用是什么?

A

当容器中存在指定Bean时生效

B

当classpath中存在指定类时生效

C

当配置文件中有指定属性时生效

D

当应用是Web应用时生效

10
单选题

@Conditional注解是Spring框架的条件注解基础,它需要配合哪个接口实现具体的条件判断逻辑?

A

ImportSelector

B

Condition

C

BeanFactoryPostProcessor

D

BeanPostProcessor

11
单选题

Spring Boot自动配置的核心思想是什么?

A

手动配置所有组件

B

根据项目依赖和配置自动装配Bean

C

禁用所有Spring配置

D

强制使用XML配置

12
单选题

Spring Boot使用哪个类来加载spring.factories或imports文件中的自动配置类?

A

ClassPathXmlApplicationContext

B

SpringFactoriesLoader

C

BeanDefinitionReader

D

AnnotationConfigApplicationContext

多选题
13
多选题

Spring Boot自动配置类加载的完整流程包括哪些步骤?

A

AutoConfigurationImportSelector读取配置文件

B

过滤不满足条件的配置类

C

按顺序加载满足条件的配置类

D

执行配置类中的@Bean方法装配Bean

14
多选题

Spring Boot自动配置会根据哪些条件判断是否生效?

A

classpath中是否存在某个类

B

容器中是否已存在某个Bean

C

配置文件中是否有特定属性

D

应用运行的环境

15
多选题

@EnableAutoConfiguration注解包含哪些元注解或@Import?

A

@AutoConfigurationPackage

B

@Import(AutoConfigurationImportSelector.class)

C

@ComponentScan

D

@Configuration

16
多选题

Spring Boot提供了哪些条件注解?

A

@ConditionalOnClass

B

@ConditionalOnBean

C

@ConditionalOnProperty

D

@ConditionalOnWebApplication

填空题
17
填空题

AutoConfigurationImportSelector实现了接口,它会在所有常规的@Import处理执行,这样可以确保自定义的配置先被加载,自动配置后加载。

18
填空题

Spring Boot启用自动配置的核心注解是,它通常被包含在组合注解中。自动配置类通过META-INF/spring/文件注册。

19
填空题

@AutoConfigurationPackage注解的作用是将主启动类所在的路径注册到容器中,主要用于实体扫描和其他需要自动扫描主包的场景。它内部通过@Import导入类实现。

20
填空题

@ConditionalOnProperty注解用于检查配置文件中的属性,prefix属性指定,name属性指定,havingValue属性指定,matchIfMissing属性指定属性不存在时是否匹配,默认为false。

参考答案
1.正确 2.正确 3.错误 4.B 5.B 6.B 7.C 8.B 9.B 10.B 11.B 12.B 13.A;B;C;D 14.A;B;C;D 15.A;B 16.A;B;C;D 17.DeferredImportSelector;之后;用户 18.@EnableAutoConfiguration;@SpringBootApplication;org.springframework.boot.autoconfigure.AutoConfiguration.imports 19.包;JPA;AutoConfigurationPackages.Registrar 20.属性前缀;属性名;期望值
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 线上性能监控与压测优化专项测试 下一套 → 自定义Starter开发专项测试