Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Spring Boot

63 道题目
我的收藏与复习
题干与完整题解免费阅读第 2 / 7 页

答:常用 ApplicationRunner 或 CommandLineRunner,在容器启动流程中执行初始化任务;前者接收解析后的应用参数,后者接收原始字符串数组。多个runner可按顺序规则组织,但不应依赖未声明的扫描先后。它们不是HTTP请求,也不是每个实例只会在整个集群里执行一次。

专注学习

答:简单值可用 Value,按需查询可用 Environment,一组有结构的配置常用 ConfigurationProperties 绑定到专门类型。它们读取同一环境中的属性,却有不同的类型绑定、验证和表达能力。读取成功不表示配置来源正确,也不表示密码可以安全打印到日志。

专注学习

答:先找同一个键来自哪些属性源,再按当前Boot优先级判断;常见命令行、Java系统属性、环境变量与配置数据的覆盖关系要分清。配置数据内部还有位置、环境与导入规则。不存在“所有外部文件永远低于所有包内profile文件”的通用结论,也不应背旧版17项清单当当前规范。

专注学习

答:它为Maven提供Boot运行、可执行制品重打包、镜像构建及构建信息等能力。普通Java编译和JAR打包已有Maven插件,Boot插件主要补齐Boot制品布局与启动方式。它不是依赖版本BOM,也不是用了Boot就必须在每种运行方式下执行的“自动配置开关”。

专注学习

答:GetMapping是限制GET方法的组合映射注解,RequestMapping可表达通用请求条件,不限制method时可能接受更广范围。两者都属于MVC映射能力,不是Boot专属。路由匹配还可看路径、参数、头和媒体类型;注解不会自动保证业务安全性或幂等性。

专注学习

答:starter-parent在Boot依赖版本管理基础上提供常见Maven构建默认;dependencies BOM主要管理依赖版本。只能有一个Maven父工程,但可以导入BOM,因此公司父POM与Boot可以配合。导入BOM不会顺便获得所有插件执行和资源处理设置,二者不能当作完全等价替换。

专注学习

答:常见DevTools使用重启机制:检测到编译产物变化后,通过类加载器分层等方式重建应用;部分模板或静态资源可刷新,LiveReload还能通知浏览器刷新。它不等于任意Java类都在原实例中无重启替换,IDE保存源码也不一定已经产生可检测的编译变化。

专注学习

答:可用application-{profile}变体、按环境激活的配置文档及Profile条件注册不同Bean,再由外部参数选择环境。开发、测试、生产应有清楚的差异与默认值。Profile是一组激活条件,不是把所有秘密按环境名写入仓库就完成隔离,也不等于切换一份配置就自动保证部署安全。

专注学习

答:可以逐步迁移或引入兼容配置,但不是把旧依赖换成Boot就自动完成兼容。需检查Java、Spring、Jakarta包名、Servlet容器、第三方库和构建方式,再决定保留哪些XML或Java配置。代际跨度大时宜分阶段验证,不能把Boot视为任意旧库的兼容层。

专注学习
本页 10 道,共 63 道浏览其他领域