被问到最多的 Spring Boot 面试问题和答案

已发表: 2022-01-10

Spring Boot 是大多数 IT 工作面试中讨论的主要话题之一,尤其是在开发 Java 应用程序时。 由于其快速、低配置、内置服务器和自我监控的特性,spring boot 有助于创建具有健壮和可维护结构的独立的基于 java 的应用程序。

这篇文章将带您了解所有春季启动问题,包括更新和高级面试。

目录

什么是弹簧靴?

Spring boot 是一个基于 Java 的框架,主要用于构建独立的微服务或快速应用程序开发。 它为 Jetty 和 Tomcat 应用程序添加了自动配置支持和嵌入式服务器。

从技术上讲,spring boot 是指一个由企业维护的微型开源框架——Pivotal。 该框架是 Java 开发人员创建生产级和可自动配置的 Spring 应用程序的平台。 使用 Spring Boot 的 Java 开发人员可以高效地准备和配置他们所有的 Spring 应用程序。

是什么让弹簧靴与众不同?

Spring Boot 从其他同类产品中脱颖而出,因为:

  • 它有助于开发具有最低配置需求的独立 Spring 应用程序。
  • 它提供了启动器依赖项来简化和简化构建配置。
  • 它允许您嵌入 Jetty、Tomcat 等,而无需部署 WAR 文件。
  • 它包括许多生产就绪功能,包括健康检查、指标和外部配置系统。

是什么让弹簧靴如此普及?

Spring Boot 使用 Java,这是全球开发人员喜爱的最受欢迎的编程语言之一。 它是一款出色的工具,可帮助 Java 开发人员运行和维护企业级应用程序,而无需担心配置要求和安全检查。 此外,Spring Boot 社区范围广泛且资源丰富。 有关此框架的易于访问的信息进一步有助于提高其受欢迎程度。

此外,使用弹簧靴还可以为您带来其他好处,例如:

  • 它减少了开发时间,同时提高了开发团队的生产力。
  • 它包括用于设计生产级应用程序的所有组件的自动配置功能。
  • 它具有集成和单元测试的默认设置,使其成为 Java 开发人员的可靠平台。
  • 它不需要大量样板代码、XML 配置或注释。
  • 它有一个像 Jetty 这样的嵌入式 HTTP 服务器来测试基于 Web 的应用程序。
  • 它包括各种插件,使开发人员能够在内存和嵌入式数据库中顺利工作。
  • 它允许用户快速连接队列服务和数据库,如 Oracle、MySQL、PostgreSQL、ActiveMQ、MongoDB、Solr、Redis、Rabbit MQ 等。

顶级春季靴子面试问题 - 新生

以下是春季靴子更新级别面试中一些最常见的问题:

1.提到通过spring boot创建app的好处?

使用 Spring Boot 进行应用程序开发的显着优势是:

  • 在开发基于弹簧的应用程序时非常容易理解。
  • 它是一个已经存在的框架,具有嵌入式注释配置和 HTTP 服务器。 这两个方面很容易理解。
  • 它提高了生产力,同时减少了开发时间。
  • 它需要最少的配置。
  • 用户不需要编写任何 XML 配置,除了一些与设计相关的部分。

2、能不能介绍一下spring boot的关键部件?

答。 弹簧靴的基本组成部分是:

  • spring boot 的自动配置设置
  • 启动弹簧靴 POM
  • CLI 弹簧靴
  • Spring Boot 执行器框架

3、为什么Java开发者更喜欢使用spring boot而不是spring?

答。 大多数 Java 开发人员确实更喜欢使用 Spring Boot 而不是 Spring。 之所以如此,是因为以下特点:

  • 版本管理
  • 启动器 POM
  • 自动配置
  • 嵌入式服务器
  • 执行器
  • 组件扫描
  • 内存数据库。

4、spring boot有哪些不同的starter依赖模块?

最常用的入门依赖工具是:

  • 测试启动器
  • 数据 JPA 工具
  • 安全启动器
  • 邮件启动器
  • 网络启动器
  • 百里香发酵剂

5. 你能告诉我们 Spring Boot 究竟是如何工作的吗?

答。 Spring Boot 框架根据 Java 开发者输入到应用项目的依赖和注解配置,自动配置应用。 任何 Spring Boot 应用程序的起点都包含“@SpringBootApplication ”配置注释以及主要方法。

Spring Boot 还会自动扫描所有带有“@ComponentScan 注解”的项目组件。

6、能不能告诉我们@SpringBootApplication的注解在内部做了什么?

答。 “@SpringBootApplication”的注解与使用“ @Configuration、 @EnableAutoConfiguration ”和“ @ComponentScan”以及这些注解的所有默认属性相同。 Spring Boot 框架允许 Java 开发人员使用单个注解而不是多个注解。

7、在class文件中使用@ComponentScan注解的目的是什么?

Spring Boot 框架在应用程序初始化时扫描所有包声明和 bean。 在此之后,我们需要嵌入@ComponentScan配置注解。 这将允许类文件扫描添加到项目中的所有组件。

顶级春季靴子面试问题 - 高级

以下是 Spring Boot 专业级面试中提出的一些热门问题:

1. 怎么可能覆盖任何 Spring boot 应用程序中的所有默认属性?

Spring Boot 提供了多个可以被覆盖的属性。 您可以通过在应用程序属性中指定更改来做到这一点。 例如,如果您需要在 Spring MVC 应用程序中指定任何前缀或后缀,您可以通过在 application.properties 文件中嵌入以下属性来实现:

  • “spring.mvc.view.suffix:”
  • “.jsspring.mvc.view.prefix: /WEB-INF/”

2. 如何在自定义端口上运行 Spring Boot 应用程序?

答。 在自定义端口运行一个spring boot应用,只需要放server. 应用程序属性中的端口功能。 例如:

server.port=8050”

3. 为什么在你的 java 应用程序中选择 spring boot 模块?

使用 Spring Boot 模块可以让我们更简单地创建基于 Spring 的应用程序。 这可以帮助您节省大量时间和精力。

假设您想使用ActiveMQ开发一个 Spring Boot 项目 为此,您可以简单地将“ spring–boot–starter–activemq ”嵌入为工件代码。 它将通过创建基于 ActivemQ 的 spring 应用程序自动采用默认值。

但是,假设您不想使用内置的 ActiveMQ。 在这里,您可以简单地覆盖application_properties 中的“spring.activemq.broker-URL”以使用外部 ActiveMQ。

4. 说说Spring boot的模块中DevTools的使用?

Spring Boot 附带嵌入式 DevTools,从而提高了开发人员的整体生产力。 DevTools 最显着的优势是您无需在每次进行更改时重新部署应用程序。 通常,开发人员只需重新加载相应的更改而无需重新启动服务器。 这避免了每次发生更改时重新部署应用程序的痛苦。

5. spring boot 模块中的执行器是什么意思?

弹簧靴执行器是弹簧靴最关键的特征。 它用于访问生产环境中正在运行的应用程序的当前形式。 此外,您可以使用多个指标来检查 Java 应用程序的当前状态。

Spring Boot 执行器提供流畅的 Web 服务,其端点可以简单地检查所需的指标。 例如,“/ metrics:”端点显示处理器、可用内存、正常运行时间和其他属性等指标。

这样,spring boot 执行器就可以让开发人员在生产环境中监控应用程序。 这些 RESTful 端点非常敏感,这意味着它们专门为经过身份验证的用户提供受限访问。 但是,您可以覆盖 in-app.properties 来更改此功能。

6. 你将如何在任何基于 Spring boot 的应用程序中实现 Spring 安全系统?

在任何 Spring Boot 应用程序中实现 Spring Security 都需要最少的配置。 您只需要在 pom.xml中输入spring-boot-starter-security-starter即可。 在此之后,您必须输入一个配置类,该类将通过覆盖所有方法扩展到WebSecurityConfigurerAdapter以在任何 Spring 引导应用程序中实现所需的安全性。

7. 说说Spring Boot模块中@Controller和@RestController的区别?

答。 @RestController 模型只返回对象以及对象数据。 这两个都是直接使用 HTTP 响应作为 XML 或 JSON 编写的。

另一方面,Spring Boot 模型的 @Controller Map 允许以模板形式查看项目并使其对人类可读。

你的目标是完成春季靴子面试吗?

查看计算机科学理学硕士课程 在升级。 本课程将向您介绍 Java、Python 和许多其他工具,如 Spark、MapReduce、Tableau、AWS、Keras 等。由行业专家和顶级导师策划,对于希望在保持技能的同时提高技能的有志者来说,这是一个彻底改变游戏规则的课程他们目前的职业承诺。

结论

Spring Boot 是 Java 开发人员的一个时尚且必要的附加组件。 如今,许多软件开发职位要求开发人员具备 Spring Boot 知识。 毕竟,它使基于 Java 的应用程序开发变得轻松无忧。 无论您是新手还是经验丰富的开发人员,精通 Spring Boot 的细节将使您在竞争对手中占上风。

弹簧靴可以与非弹簧应用程序一起使用吗?

不,这是不可能的,因为 Spring Boot 仅限于所有基于 Spring 的应用程序。

spring boot 是否只用于开发 REST API?

不,Spring Boot 不仅适用于基于 REST 的 API。 相反,它是基于 Java 的应用程序的自动配置机制。 因此,您可以将它用于后端和前端。

Spring Boot 的缺点是什么?

主要缺点是:

1. 微服务虽好,但不适合大型项目。
2. 将遗留应用程序或现有 Spring 项目转换为 Spring Boot 应用程序非常耗时。
3. 往往会导致大量不必要的依赖,增加部署文件的大小。