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

配置加载的底层规则和外部配置专项测试

19 题 40 分钟 难度:

考察知识点

  • 配置源加载优先级顺序
  • 外部化配置方式(命令行、环境变量等)
  • 配置覆盖与合并规则
  • 配置文件位置与命名规范
1
单选题

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

A

--server.port=8081

B

server.port=8081

C

-Dserver.port=8081

D

spring.server.port=8081

2
单选题

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

A

命令行参数优先级最低

B

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

C

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

D

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

3
多选题

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

A

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

B

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

C

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

D

JVM系统属性(如-Xmx512m)

4
填空题

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

5
单选题

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

A

SERVER_PORT

B

server.port

C

SERVER_PORT

D

SPRING_SERVER_PORT

6
单选题

Java系统属性(-D参数)与操作系统环境变量在配置加载中有什么区别?

A

系统属性优先级高于环境变量

B

环境变量优先级高于系统属性

C

两者优先级相同,后加载的覆盖先加载的

D

两者完全等效,无任何区别

7
多选题

使用操作系统环境变量配置Spring Boot应用有哪些优势?

A

跨平台兼容性好,Windows/Linux/macOS都支持

B

可以在不修改应用代码的情况下改变配置

C

适合容器化部署(Docker/K8s)场景

D

安全性比配置文件更高,不会意外提交到代码仓库

8
填空题

在Spring Boot应用中,可以通过注入 ___________ 接口来获取环境变量和系统属性,调用 ______________________ 方法可以获取配置值,该方法会按照优先级从高到低依次查找各个PropertySource。

9
单选题

Spring Boot默认会从以下哪个位置加载配置文件(优先级最高)?

A

项目根目录下的config子目录

B

项目根目录(与jar同级)

C

jar包内的classpath:/config/

D

jar包内的classpath根目录(/)

10
单选题

如果在同一位置同时存在application.properties和application.yaml,Spring Boot会如何处理?

A

只加载application.properties,忽略yaml文件

B

只加载application.yaml,忽略properties文件

C

两者都会加载,yaml中的配置覆盖properties中的同名配置

D

两者都会加载,properties中的配置覆盖yaml中的同名配置

11
多选题

Spring Boot支持以下哪些配置文件格式和位置?

A

application.properties

B

application.yaml / application.yml

C

application-{profile}.properties/yaml

D

config/application.properties(外部config目录)

12
判断题

当激活了dev Profile时,application-dev.properties中的配置优先级高于application.properties中的同名配置。这种说法正确吗?

A

B

13
单选题

以下哪种方式不能激活Spring Boot的Profile?

A

命令行参数:--spring.profiles.active=dev

B

系统属性:-Dspring.profiles.active=dev

C

环境变量:SPRING_PROFILES_ACTIVE=dev

D

在配置文件中使用profile=dev

14
单选题

在application-dev.properties中配置spring.profiles.include=debug,metrics,这会产生什么效果?

A

替换当前激活的Profile为debug和metrics

B

在dev Profile基础上额外激活debug和metrics Profile

C

仅当debug和metrics Profile被激活时才加载dev Profile

D

忽略该配置,include属性已废弃

15
多选题

Profile配置的底层加载机制涉及以下哪些组件?

A

ConfigFileApplicationListener(配置文件加载监听器)

B

Environment对象(存储所有配置源)

C

@Profile注解(条件化Bean注册)

D

PropertySource(单个配置源抽象)

16
填空题

Profile特定配置文件的命名格式为 ________________________________________________ ,其中{profile}替换为具体的Profile名称。当激活多个Profile时,按 ________ 的优先级加载,后声明的Profile配置覆盖先声明的同名配置。

17
单选题

在Spring Boot配置文件中,使用随机值配置my.secret=${random.value},这会生成什么类型的值?

A

随机整数

B

随机UUID字符串

C

随机长整数

D

随机字节数组

18
单选题

配置server.port=${random.int[10000,20000]}的效果是什么?

A

生成10000到20000之间的随机端口,闭区间(包含边界值)

B

生成10000到20000之间的随机端口,开区间(不含边界值)

C

生成10000或20000这两个值之一

D

配置语法错误,无法解析

19
判断题

配置my.timeout=${custom.timeout:3000}中,冒号后的3000是默认值,当custom.timeout未配置时使用。这种说法正确吗?

A

B

← 上一个试卷 自定义Starter开发专项测试
下一个试卷 → 项目打包基础部署专项测试

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

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

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

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