前 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 校友身份、實用的實踐頂點項目和頂級公司的工作協助。