一、簡介
本文將總結一些現在非常流行的開箱即用框架SpringBoot相關的面試題。
二、面試題
【1】什麼是SpringBoot?
Spring Boot是Spring開源組織下的子項目,是Spring組件一站式解決方案,主要是簡化了使用Spring的難度,簡省了繁重的配置,提供了各種啓動器,開發者能快速上手。
【2】SpringBoot有哪些優點?
- 獨立運行
Spring Boot而且內嵌了各種servlet容器,Tomcat、Jetty等,現在不再需要打成war包部署到容器中,Spring Boot只要打成一個可執行的jar包就能獨立運行,所有的依賴包都在一個jar包內。
- 簡化配置
spring-boot-starter-web啓動器自動依賴其他組件,簡少了maven的配置。
- 自動配置
Spring Boot能根據當前類路徑下的類、jar包來自動配置bean,如添加一個spring-boot-starter-web啓動器就能擁有web的功能,無需其他配置。
- 無代碼生成和XML配置
Spring Boot配置過程中無代碼生成,也無需XML配置文件就能完成所有配置工作,這一切都是藉助於條件註解完成的,這也是Spring4.x的核心功能之一。
- 應用監控
Spring Boot提供一系列端點可以監控服務及應用,做健康檢測。
【3】SpringBoot中的監視器是什麼?
SpringBoot actuator監視器可幫助我們訪問生產環境中正在運行的應用程序的當前狀態,有幾個指標必須在生產環境中進行檢查和監控,即使一些外部應用程序可能正在使用 這些服務來向相關人員觸發警報信息。監視器模板公開了一組可直接作爲URL訪問的REST端點來檢查狀態。
【4】如何在SpringBoot中禁用Actuator端點安全性?
在配置文件中加入下面的配置:
management.security.enabled = false
【5】如何在自定義端口上運SpringBoot應用程序?
在配置文件中application.properties/application.yml中指定端口:
server.port = 8090
server:
port: 8080
【6】什麼是YAML?
YAML是一種人類可讀的數據序列化語言。通常用於配置文件,與屬性文件相比,如果我們想要在配置文件中添加更加複雜的屬性,YAML文件就更加結構化,而且更少混淆,可以看出YAML具有分層配置數據。
【7】什麼是Swagger?
Swagger廣泛用於可視化API,使用Swagger UI爲前端人員提供在線沙箱。Swagger是用於生成RESTful Web服務的可視化表示的工具,規範和完整框架實現,當通過Swagger正確定義時,消費者可以使用最少量的實現邏輯來理解遠程服務並與其進行交互。
【8】什麼是FreeMarker模板?
FreeMarker是一個基於Java的模板引擎,使用FreeMarker的主要優點是表示層和業務層的完全分離,程序員可以處理應用程序代碼,而設計人員可以處理html頁面設計,最後使用FreeMarker可以將這些結合起來,給出最終的輸出頁面。
【9】什麼是CSRF攻擊?
CSRF代表跨站請求僞造,這是一種攻擊,迫使最終用戶在當前通過身份驗證的Web應用程序上執行不需要的操作。CSRF攻擊專業針對於狀態改變請求,而不是數據竊取,因爲攻擊者無法查看對僞造請求的響應。
【10】您使用了哪些starter maven的依賴項?
- spring-boot-starter-activemq
- spring-boot-starter-security
- spring-boot-starter-web
- spring-boot-starter-actuator
- spring-boot-starter-redis等