被問到最多的 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. 往往會導致大量不必要的依賴,增加部署文件的大小。