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

SpringBoot中级技能认证

20 题 60 分钟 难度:★★

考察知识点

  • 全局异常统一处理:@ControllerAdvice用法、@ExceptionHandler机制、异常处理流程原理
  • 自动配置原理:@EnableAutoConfiguration机制、条件注解原理、SPI扩展机制
  • 自定义Starter开发:Starter命名规范、自动配置类编写、条件装配实践
  • 配置加载的底层规则和外部配置:配置加载优先级、外部化配置、配置覆盖机制
💡 参考答案在文末
判断题
1

@ControllerAdvice注解标注的异常处理器可以处理所有Controller抛出的异常,包括Filter和其他组件抛出的异常。

A

B

2

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

A

B

单选题
3

在自定义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;

4

使用命令行参数覆盖Spring Boot配置时,以下哪种格式是正确的?

A

--server.port=8081

B

server.port=8081

C

-Dserver.port=8081

D

spring.server.port=8081

5

若要通过环境变量设置Spring Boot的server.port属性,环境变量名应该写成什么格式?

A

SERVER_PORT

B

server.port

C

SERVER_PORT

D

SPRING_SERVER_PORT

6

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

A

手动配置所有组件

B

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

C

禁用所有Spring配置

D

强制使用XML配置

7

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

A

spring-boot-core

B

spring-boot-autoconfigure

C

spring-boot-starter-web

D

spring-context

8

在Spring Boot配置加载优先级中,命令行参数的优先级与其他配置源相比如何?

A

命令行参数优先级最低

B

命令行参数优先级介于配置文件和系统属性之间

C

命行参数优先级最高,可以覆盖任何其他配置

D

命令行参数与系统属性优先级相同

9

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

A

spring-boot-starter-{name}

B

{name}-spring-boot-starter

C

spring-boot-{name}-starter

D

starter-spring-boot-{name}

10

Spring Boot默认提供的错误处理端点是什么,访问它会显示错误详情?

A

/error

B

/exception

C

/fail

D

/problem

11

Spring MVC处理异常的核心接口是什么,它负责解析异常并返回相应的ModelAndView?

A

HandlerInterceptor

B

HandlerExceptionResolver

C

ViewResolver

D

HandlerMapping

12

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

A

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

B

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

C

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

D

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

多选题
13

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

A

app.user-name

B

app.userName

C

app.user_name

D

app.USER_NAME

14

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

A

classpath中是否存在某个类

B

容器中是否已存在某个Bean

C

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

D

应用运行的环境

15

通过Spring Boot命令行参数,可以设置以下哪些内容?

A

应用配置属性(如server.port)

B

Spring Boot启动模式(如--debug)

C

主类参数(main方法接收的参数,不含--前缀)

D

JVM系统属性(如-Xmx512m)

16

Spring Boot中实现全局异常处理的方式有哪些?

A

使用@ControllerAdvice注解

B

使用@ExceptionHandler注解

C

实现HandlerExceptionResolver接口

D

配置SimpleMappingExceptionResolver

填空题
17

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

18

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

19

Spring Boot默认的错误处理端点路径是____________,可以通过配置server.error.path属性修改为自定义路径。默认的错误控制器类名是____________

20

若要禁用命令行参数对配置的覆盖功能,可以通过SpringApplicationBuilder调用 ____________ 方法,或在SpringApplication上调用 ____________ 方法。禁用后,命令行参数将不会被添加到Environment中。

参考答案
1.错误 2.正确 3.B 4.A 5.C 6.B 7.B 8.C 9.B 10.A 11.B 12.D 13.A;B;C;D 14.A;B;C;D 15.A;B;C 16.A;B;C;D 17.@Validated;@NotNull;hibernate-validator 18.@EnableAutoConfiguration;@SpringBootApplication;org.springframework.boot.autoconfigure.AutoConfiguration.imports 19./error;BasicErrorController 20.setAddCommandLineProperties(false;setAddCommandLineProperties(false
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 SpringBoot Web开发专项测试
下一套试卷 → SpringBoot初级技能认证
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码