前 10 大关键 Spring Boot 面试问题和答案 [面向初学者和有经验者]
已发表: 2020-07-29如今, Spring Boot 面试问题对于 Java 开发人员来说变得非常普遍。 Spring Boot 是一个基于 Java 的开源 Spring 模块,它为快速开发部署就绪的应用程序提供了强大的功能。 它是用于开发可扩展微服务和 Web 应用程序的最常用和最好的 Java 框架。
如果您想成为领域专家,那么您来对地方了。 我们整理了一些最常被问到的春季靴子面试问题和答案,以帮助您在面试中脱颖而出。
学习构建 Swiggy、Quora、IMDB 等应用程序
基本的 Spring Boot 面试问题和答案
1、什么是Spring Boot,它与Spring有什么不同?
它将使用 Spring 的 Java 开发提升到一个新的水平,并通过消除与依赖、配置和管理相关的主要痛点来简化开发。 下面列出了不同之处。
春天

弹簧靴
它是一个基于 Java 的 Web 应用程序框架。

它是用于创建微服务的 Spring 模块。
它相当复杂,难以使用。
与 spring 框架相比,它更简单,更健壮。
它提供库和工具来创建定制的 Web 应用程序。
它创建可以运行/执行的独立 Spring 应用程序项目。
它采取了一种非主流的观点。
它采用自以为是的观点,因为它可以决定部署配置的默认值。
它需要 XML 配置。
它不需要 XML 配置。
2. Spring Boot 需要什么?
这是最常见的 Spring Boot 面试问题之一,您可以通过指出 Spring Boot 的显着优势来回答它。
虽然 Spring 为开发人员提供了开发大型应用程序的理想环境,但配置的数量和复杂性使得这样做具有挑战性。
这是 Spring Boot 来拯救的地方。 它的预建模板和自动配置等功能允许开发人员更轻松、更省力、更高效地使用现有的 spring 功能。
Spring Boot 的主要优点是:
- 它减少了开发和测试时间。
- 它使用 JavaConfig 而不是 XML。
- 它提供了一种自以为是的开发方法。
- 它为敏捷开发提供入门项目或默认设置。
- 不需要单独的网络服务器; 因此无需启动 Glassfish、Tomcat 或任何其他服务器。
阅读:Spring Boot 项目理念
3. 能否命名并简要解释一下所有 Spring Boot 组件/特性?
通过这个问题,面试官打算评估你的概念的理论知识。 如果您有该领域的经验或从事过任何 Spring Boot 项目,请通过示例提供答案。
Spring Boot 的主要特点是
1. 启动器依赖
Spring框架中有很多依赖,这个特性将它们聚合在一起。 Spring Boot 包含几个启动器依赖项以提高生产力。
很少有 Spring Boot Starter 是 Test Starter、Web Starter、Mail Starter 等等。 例如,如果我们想使用 JPA 和 Spring 进行数据库访问,我们可以在 project -spring-boot-starter-data-jpa中添加这个启动器依赖项。
2. 自动配置
此功能扫描类路径并搜索类路径中的库/Jars,以提供设计和运行应用程序所需的配置。
例如,在使用 Spring Boot 开发应用程序时,如果类路径中存在 Thymeleaf.jar,它会自动对齐 Thymeleaf 模板解析器和其他设置。
3. 弹簧初始化器
它是一个 Web 应用程序,通过创建初始项目结构和构建脚本来简化项目设置过程。 它通过减少开发时间来提高生产力。
4. 弹簧执行器
执行器对于微服务来说非常重要,因为它们可以为运行 Spring 启动应用程序启用审计、健康检查、日志信息等部署就绪功能。 执行器具有默认安全的内置管理端点。
例如:
/beans - 它展示了应用程序中所有 Spring bean 的完整列表。
/health — 它通过监控生产系统来显示应用程序的健康信息
5. Spring CLI
此功能允许开发人员使用 Groovy 编写 Spring Boot 应用程序,从而使代码更加简洁。
4. Spring Boot 中的 Thymeleaf 是什么?
它是一个基于 Java 的服务器端模板引擎,为 Web 应用程序提供优雅自然的模板。
5. Spring Boot 支持哪些嵌入式容器?
Spring Boot 支持三种嵌入式容器:
- Tomcat(默认使用)
- 暗流
- 码头
查看:全栈面试问题和答案
技术 Spring Boot 面试问答
1. 执行器中的停机是怎么理解的?
它是一个管理端点,可让应用程序顺利且正确地关闭。 默认没有授权,但是可以通过management.endpoint.shutdown.enabled=true来启用。
2. 在 Spring Boot 中如何以及在哪里定义属性?
我们可以使用 application.properties 文件来定义特性。 此文件由 Spring Boot 自动下载并用于应用程序配置。
3.描述spring-boot-starter-parent?
它是一个独特的启动器,可以将 jars 添加到类路径中,以便于 Maven 或 Gradle 依赖管理。
4、什么是Spring Boot依赖管理?
您可以解释 Spring Boot 自动管理配置和依赖项,甚至无需说明任何这些依赖项的版本。
5. 你可以在 spring boot 中禁用特定的自动配置吗? 怎么解释?
是的,我们可以通过
- 使用 @EnableAutoConfiguration 的排除属性
@配置
@EnableAutoConfiguration(排除={DataSourceAutoConfiguration.class})
公共类 CustomConfiguration {}
- 使用 @SpringBootApplication 注解的 exclude 属性
@SpringBootApplication(排除= DataSourceAutoConfiguration.class)
公共类 CustomApplication {}
6、Spring Boot也可以用来创建非web应用吗?

是的,Spring Boot 支持 Web 和非 Web 应用程序的开发。 我们需要从类路径和应用程序上下文中删除 Web 依赖项以创建非 Web 应用程序。
另请阅读: Javascript 面试问题
结论
通过我们的行业专家团队创建的这些 Spring Boot 面试问题和答案,准备好面试并获得您梦寐以求的工作。
加入upGrad开始学习和提升自己的技能,以构建更强大和可扩展的 Web 应用程序。
如果您有兴趣了解有关 Java、全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为在职专业人士设计,提供 500 多个小时的严格培训,9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。