全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

自定义Starter开发专项测试

14 题 30 分钟 难度:

考察知识点

  • Starter命名规范与模块结构
  • 自动配置类编写
  • 条件装配与属性绑定
  • spring.factories配置
1
单选题

在自定义Starter中,若要将配置文件中的 my.starter.enabled=true 绑定到配置类属性,以下哪种方式是正确的?

A

@Value("${my.starter.enabled}") private boolean enabled;

B

@ConfigurationProperties(prefix = "my.starter") private boolean enabled;

C

@ConfigurationProperties(prefix = "my.starter.enabled") private boolean enabled;

D

@PropertySource("my.starter.enabled") private boolean enabled;

2
单选题

在Spring Boot 2.2+版本中,使用@ConfigurationProperties绑定配置属性时,以下哪种方式是不推荐的?

A

在配置类上添加@ConfigurationProperties和@Component注解

B

在配置类上添加@ConfigurationProperties,并通过@EnableConfigurationProperties注册

C

在配置类上添加@ConfigurationProperties和@Configuration注解

D

仅在配置类上添加@ConfigurationProperties注解

3
多选题

在Spring Boot的配置属性绑定中,以下哪些属性名可以正确绑定到配置类的 userName 属性?(假设prefix为"app")

A

app.user-name

B

app.userName

C

app.user_name

D

app.USER_NAME

4
填空题

在自定义Starter的配置类中,若要对配置属性进行JSR-303校验,需要在类上添加 __________ 注解,并在需要校验的属性上添加如 ________ 、@Min、@Max等校验注解。同时,还需要在项目中引入 ___________________ 或 spring-boot-starter-validation 依赖。

5
单选题

根据Spring Boot官方规范,自定义Starter的artifactId应该遵循什么命名格式?

A

spring-boot-starter-{name}

B

{name}-spring-boot-starter

C

spring-boot-{name}-starter

D

starter-spring-boot-{name}

6
判断题

在自定义Starter的模块结构中,推荐将自动配置代码单独放在一个模块中,Starter模块仅作为依赖聚合模块。这种做法是正确还是错误的?

A

B

7
单选题

在Spring Boot 2.7+版本中,自定义Starter的自动配置类应该通过哪种方式注册?

A

仅使用META-INF/spring.factories文件

B

仅使用META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件

C

推荐使用imports文件,同时保留spring.factories以兼容旧版本

D

使用@ComponentScan注解扫描

8
单选题

在spring.factories文件中注册自动配置类时,正确的键(key)应该是哪个?

A

org.springframework.boot.autoconfigure.EnableAutoConfiguration

B

org.springframework.boot.autoconfigure.AutoConfiguration

C

org.springframework.boot.autoconfigure.Configuration

D

org.springframework.boot.autoconfigure.EnableConfiguration

9
多选题

在spring.factories文件中,除了自动配置类,还可以注册哪些类型的组件?

A

EnvironmentPostProcessor(环境后置处理器)

B

ApplicationListener(应用监听器)

C

Initializer(初始化器)

D

FailureAnalyzer(故障分析器)

10
填空题

spring.factories文件必须放在项目的 ________ 目录下,该目录通常位于src/main/resources下。文件格式为Properties格式,每行配置格式为:________________________

11
单选题

测试自定义Starter时,以下哪种方式可以确保自动配置类被正确加载和条件判断生效?

A

使用普通的Spring Boot测试启动应用,手动验证功能

B

使用ApplicationContextRunner配合@Conditional条件测试

C

使用Mockito模拟所有依赖组件

D

使用JUnit的普通单元测试

12
单选题

测试自定义Starter中的@ConditionalOnClass条件注解时,应该验证什么?

A

验证类路径中是否存在该类

B

验证当类存在时配置生效,类不存在时配置不生效

C

验证该类是否可以被实例化

D

验证该类是否有默认构造方法

13
多选题

完整的自定义Starter测试应该覆盖哪些场景?

A

默认配置下的自动配置行为

B

用户自定义配置覆盖默认值

C

条件注解的正确性(@ConditionalOnXxx)

D

配置属性的校验和绑定

14
判断题

在测试自定义Starter时,应该使用@SpringBootTest启动完整应用上下文来测试所有功能。这种说法正确吗?

A

B

← 上一个试卷 自动配置原理专项测试
下一个试卷 → 配置加载的底层规则和外部配置专项测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库