1. 程式人生 > >超詳細Spring Boot面試問題集錦,死角一個不留!

超詳細Spring Boot面試問題集錦,死角一個不留!

全文共2564字,預計學習時長5分鐘在這裡插入圖片描述

本文將討論Spring Boot中最常見的10個面試問題。在當今就業市場中,這些問題出現的頻率呈上升趨勢並且有一些棘手。

1. @SpringBootApplication註釋在內部有什麼用處?
作為Spring引導文件,@SpringBootApplication註釋等同於同時使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其預設屬性。Spring Boot允許開發人員使用單個註釋而不是多個註釋。但是,眾所周知,Spring提供了鬆散耦合的特性,我們可以根據專案需要為每個註釋使用這些特性。

2. 如何在不使用BasePACKAGE過濾器的情況下排除程式包?

過濾程式包的方法不盡相同。但是彈簧啟動提供了一個更復雜的選項,可以在不接觸元件掃描的情況下實現這一點。在使用註釋@ SpringBootApplication時,可以使用排除屬性。請參閱下面的程式碼片段:

@SpringBootApplication(exclude= {Employee.class})

public class FooAppConfiguration {}

3. 如何禁用特定的自動配置類?

若發現任何不願使用的特定自動配置類,可以使用@EnableAutoConfiguration的排除屬性。

//By using “exclude”

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

另一方面,如果類別不在類路徑上,則可以使用excludeName類註解,並且指定完全限定名。

//By using “excludeName”

@EnableAutoConfiguration(excludeName={Foo.class})

此外,Spring Boot還具有控制排除自動配置類列表的功能,可以通過使用spring.autoconfigure.exclude property來實現。可以將其新增到 propertie應用程式中,並且可以新增逗號分隔的多個類。

//By using property file

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
在這裡插入圖片描述
4. 什麼是Spring Actuator?它有什麼優勢?

這是Spring Boot中最常見的面試問題之一。根據Spring檔案:

執行器是一個製造術語,指的是移動或控制某物的機械裝置。執行機構可以從一個小的變化中產生大量的運動。

眾所周知,Spring Boot提供了許多自動配置特性,幫助開發人員快速開發生產元件。但是,當考慮除錯和如何除錯,如果出現問題,總是需要分析日誌並挖掘應用程式的資料流,檢查問題出在何處。因此,Spring Actuator提供了方便的訪問這些型別的途徑。它提供了許多特性,例如建立了什麼樣的bean、控制器中的對映、CPU使用情況等等。它還可以將自動收集和審計健康狀況和指標應用到應用程式中。

它提供了一種非常簡單的方法來訪問少數生產就緒的REST端點,並從Web獲取各種資訊。但是通過使用這些端點,你可以做很多事情來檢視端點文件。沒有必要擔心安全問題;如果存在Spring Security,則預設使用Spring Security的內容協商策略保護這些端點。或者,可以在RequestMatcher的幫助下配置自定義安全性。

5. 如何啟用/禁用執行器?

啟用/禁用致動器很容易;最簡單的方法是使特效能夠將依賴項(Maven/Gradle)新增到spring-boot-starter-actuator,即啟動器。如果不想啟用致動器,那麼就不要新增依賴項。

Maven依賴項:

org.springframework.boot

spring-boot-starter-actuator

6. 什麼是Spring Initializer?

這個問題並不難,但面試官總是以此測試候選人的專業知識。

Spring Initializer是一個網路應用程式,它可以生成一個Spring Boot專案,包含快速啟動所需的一切。和往常一樣,我們需要一個好的專案框架;它有助於你正確建立專案結構/框架。

圖片來源:unsplash.com/@jontyson

7. 什麼是執行器停機?

關機是允許應用程式正常關機的端點。預設情況下,此功能不啟用。你可以在應用程式屬性檔案中使用management . endpoint . shut down . enabled = true來啟用此選項。但是該方法請謹慎使用。

8. 是否可以在Spring boot中更改嵌入式Tomcat伺服器的埠?

是的,更改埠是可行的。可以使用application.properties檔案更改埠。但需要提到“server.port”(即server.port=8081)。確保專案類路徑中有application.properties;後續工作將由REST Spring框架接手。如果提到server.port=0,那麼它將自動分配任何可用的埠。

9. 是否可以在Spring Boot中覆蓋或替換嵌入式Tomcat?

是的,可以使用starter依賴項將嵌入式Tomcat替換為任何其他伺服器。可以根據需要使用SpringBootStarter Jetty或SpringBootStarter作為每個專案的依賴項。

10. 可以在Spring Boot application中禁用預設的Web伺服器嗎?

Spring的主要優勢是提供靈活性來構建鬆散耦合的應用程式。Spring提供了在快速配置中禁用網路伺服器的功能。可以使用應用程式屬性來配置網路應用程式型別,例如 spring.main.web-application-type=none.

在這裡插入圖片描述
留言 點贊 關注
我們一起分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”
在這裡插入圖片描述
新增小編微信:dxsxbb