# 1. Spring Boot 4(GA)+ Spring Framework 7 的关键演进,JDK 17 最低版本、AOT 优化、HTTP Service Client 接口稳定 A Spring Boot 4 仍以 JDK 8 为最低版本 B HTTP Service Client 在 Spring Boot 4 中仍为实验性 C Spring Boot 4 移除了对虚拟线程的支持 D Spring Boot 4 将 JDK 17 作为最低版本,并强化 AOT 优化与 HTTP Service Client 的稳定 ✓ 正确答案
# 2. Spring Modulith 2.0 的模块化与微服务迁移,模块边界检测(Modulithite)、事件外化、跨模块事务的工程实践如何? A Modulith 允许模块间任意直接依赖,无需检测 B Modulith 通过边界检测与事件外化解耦模块,建议将事务边界限制在单模块内 ✓ 正确答案 C 跨模块长事务是 Modulith 推荐的设计 D Modulith 只能用于微服务,不能用于单体
# 3. Spring AI 2.0 核心,ChatClient API、Tool Calling、Advisors 链式拦截、Vector Store 抽象、Prompt 模板引擎 A ChatClient 提供统一对话 API,Advisors 支持链式拦截,Vector Store 抽象了向量检索 ✓ 正确答案 B Spring AI 只支持单一模型,无法切换 C Spring AI 不支持 Tool Calling D Vector Store 抽象只能用于单一数据库
# 4. Spring Boot 4 的模块化(Modulith)与 Java 基线升级,对现有应用迁移的影响面? A 迁移只涉及配置,不影响代码结构 B Modulith 是强制要求,所有应用必须重构 C Spring Boot 4 完全兼容 JDK 8,无迁移影响 D JDK 17 基线是强制要求,Modulith 模块化是可选项 ✓ 正确答案
# 5. Spring Framework 7 的容器与 Bean 生命周期在 AOT 下的变化(构造注入优先、提前实例化) A AOT 下构造注入优先、Bean 提前实例化,减少运行时反射与扫描 ✓ 正确答案 B AOT 完全依赖运行时反射解析 Bean C AOT 下字段注入与构造注入完全等价 D AOT 会大幅增加启动时的反射开销
# 6. Spring Framework 7 的 HTTP Service Clients(声明式 HTTP 客户端)与 WebClient 的取舍 A HTTP Interface 是响应式客户端,WebClient 是声明式客户端 B HTTP Interface 提供声明式、类型安全的接口调用,WebClient 提供底层的响应式能力,二者互补 ✓ 正确答案 C 两者完全等价,可任意互换 D HTTP Interface 不支持任何底层实现
# 7. Spring 7 的 JSpecify 集成与 Null Safety 注解(JSpecify @Nullable / @NonNull)的工程边界 A 空安全注解在运行时强制检查所有参数 B JSpecify 注解提供开发期/静态分析的空语义提示,不改变运行时行为 ✓ 正确答案 C JSpecify 只能用于 Spring 内部,应用无法使用 D 空安全注解会显著降低运行时性能
# 8. Spring Boot 4 的自动配置/Starter 命名与 3.x 的兼容性,升级清单如何准备? A 核心配置大体兼容,但依赖类、包名与配置属性可能调整,需按迁移指南逐项核对 ✓ 正确答案 B Spring Boot 4 与 3.x 完全二进制兼容,无需任何调整 C Spring Boot 4 移除了所有自动配置 D 升级只需改 pom 版本号即可
# 9. Spring Boot 4 的模块化,Modulith 与跨模块事务边界如何设计? A 推荐跨模块长事务以保证强一致 B 事务边界限制在单模块内,跨模块通过事件外化与最终一致实现 ✓ 正确答案 C 模块间不通过任何机制通信 D 跨模块事务是 Modulith 的唯一一致性方案
# 10. Spring Boot 4 的 AOT 与镜像支持,为 GraalVM Native 的构建期优化如何? A AOT 在构建期生成 Bean 注册代码并自动收集反射/代理/资源元数据,支撑原生镜像 ✓ 正确答案 B AOT 仅在运行时生成反射元数据 C GraalVM Native 完全不需要 AOT 支持 D 原生镜像下所有动态特性都完全不受限
# 11. Spring Boot 4 的结构化日志(JSON)与日志桥接默认值 A Spring Boot 4 默认只输出纯文本日志,不支持 JSON B Spring Boot 4 移除了日志能力 C 结构化日志必须引入第三方框架才能实现 D Spring Boot 4 默认支持结构化 JSON 日志并统一日志桥接,便于采集与追踪 ✓ 正确答案
# 12. Spring Framework 7 对虚拟线程、GraalVM Native 与 HTTP/3 的支持边界? A 虚拟线程自动解决所有阻塞问题,无任何边界 B Native 下所有反射特性都自动可用 C Spring Framework 7 完全不支持虚拟线程 D 虚拟线程支持存在钉住等边界,Native 下动态特性受限,HTTP/3 依赖底层实现 ✓ 正确答案
# 13. Spring Boot 4 的 GraalVM Native Image 默认支持与 AOT 缓存(Spring AOT Cache) A GraalVM Native Image 在 Spring Boot 4 中是一等公民,AOT Cache 可复用元数据加速构建 ✓ 正确答案 B Spring Boot 4 不支持原生镜像 C AOT Cache 会每次都重新做完整分析,无加速效果 D 原生镜像构建无需任何 AOT 处理
# 14. Spring Framework 7 的基线,JDK 版本要求与 Jakarta EE 11 的影响如何? A 最低 JDK 为 17,并采用 Jakarta EE 11,相关依赖需相应升级 ✓ 正确答案 B 最低 JDK 为 8,且不依赖 Jakarta EE C 最低 JDK 为 21,且无需考虑 Servlet 版本 D 采用 javax.* 命名空间,与 EE 9 后一致
# 15. Spring Framework 7 的 HTTP Interface 客户端,声明式远程调用如何设计? A 接口方法必须手写完整 HTTP 实现逻辑 B 通过 @HttpExchange 注解声明接口方法,Spring 自动生成实现,类型安全且易测试 ✓ 正确答案 C HTTP Interface 不支持任何请求体 D 接口必须继承特定基类才能使用
# 16. Spring Boot 4 的观测性,Micrometer 与 OTel 的集成演进如何? A Spring Boot 4 只支持日志,不支持指标与追踪 B Micrometer 提供统一指标 API,OTel 作为一等公民实现 metrics/traces/logs 的统一 ✓ 正确答案 C Micrometer 与 OTel 完全无关,各自独立 D Spring Boot 4 移除了所有观测性能力
# 17. Spring Framework 7 的 API 变化,废弃项与迁移路径如何? A 主版本升级不会移除任何 API B 所有旧 API 都保留,无迁移成本 C 会废弃并移除部分旧 API,需按官方迁移指南用替代方案替换并回归验证 ✓ 正确答案 D 废弃 API 只能手动重构,无官方替代
# 18. Spring Boot 4 的 Testcontainers 集成(@ServiceConnection)与测试改进 A 使用 Testcontainers 必须手动配置每个连接 URL B @ServiceConnection 只在生产环境生效,测试中无效 C @ServiceConnection 会自动把 Testcontainers 容器的连接信息注入 Spring 上下文 ✓ 正确答案 D Spring Boot 4 移除了 Testcontainers 支持