被问到最多的 Spring Boot 面试问题和答案
已发表: 2022-01-10Spring 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. 往往会导致大量不必要的依赖,增加部署文件的大小。