天天看點

Spring Boot常見考察點(二)

如何使用 Spring Boot 實作分頁和排序?

使用 Spring Boot 實作分頁非常簡單。使用 Spring Data-JPA 可以實作将可分頁的

org.springframework.data.domain.Pageable

傳遞給存儲庫方法。

什麼是 Swagger?你用 Spring Boot 實作了它嗎?

Swagger 廣泛用于可視化 API,使用 Swagger UI 為前端開發人員提供線上沙箱。Swagger 是用于生成 RESTful Web 服務的可視化表示的工具,規範和完整架構實作。它使文檔能夠以

與伺服器相同的速度更新。當通過 Swagger 正确定義時,消費者可以使用最少量的實作邏

輯來了解遠端服務并與其進行互動。是以,Swagger 消除了調用服務時的猜測。

什麼是 Spring Profiles?

Spring Profiles 允許使用者根據配置檔案(dev,test,prod 等)來注冊 bean。是以,當應用

程式在開發中運作時,隻有某些 bean 可以加載,而在 PRODUCTION 中,某些其他 bean 可

以加載。假設我們的要求是 Swagger 文檔僅适用于 QA 環境,并且禁用所有其他文檔。這

可以使用配置檔案來完成。Spring Boot 使得使用配置檔案非常簡單。

什麼是 Spring Batch?

Spring Boot Batch 提供可重用的函數,這些函數在處理大量記錄時非常重要,包括日志/跟

蹤,事務管理,作業處理統計資訊,作業重新啟動,跳過和資源管理。它還提供了更先進

的技術服務和功能,通過優化和分區技術,可以實作極高批量和高性能批處理作業。簡單

以及複雜的大批量批處理作業可以高度可擴充的方式利用架構處理重要大量的資訊。

什麼是 FreeMarker 模闆?

FreeMarker 是一個基于 Java 的模闆引擎,最初專注于使用 MVC 軟體架構進行動态網頁生

成。使用 Freemarker 的主要優點是表示層和業務層的完全分離。程式員可以處理應用程式

代碼,而設計人員可以處理 html 頁面設計。最後使用 freemarker 可以将這些結合起來,給

出最終的輸出頁面。

如何使用 Spring Boot 實作異常處理?

Spring 提供了一種使用 ControllerAdvice 處理異常的非常有用的方法。 我們通過實作一個

ControlerAdvice 類,來處理控制器類抛出的所有異常。

您使用了哪些 starter maven 依賴項?

使用了下面的一些依賴項spring-boot-starter-activemq

spring-boot-starter-security

spring-boot-starter-web

這有助于增加更少的依賴關系,并減少版本的沖突。

什麼是 CSRF 攻?

CSRF 代表跨站請求僞造。這是一種攻,迫使最終使用者在目前通過身份驗證的 Web 應用

程式上執行不需要的操作。CSRF 攻專門針對狀态改變請求,而不是資料竊取,因為攻

者無法檢視對僞造請求的響應。

什麼是 WebSockets?

WebSocket 是一種計算機通信協定,通過單個 TCP 連接配接提供全雙工通信信道。

WebSocket 是雙向的 -使用 WebSocket 用戶端或伺服器可以發起消息發送。

WebSocket 是全雙工的 -用戶端和伺服器通信是互相獨立的。

單個 TCP 連接配接 -初始連接配接使用 HTTP,然後将此連接配接更新到基于套接字的連接配接。然後這個單

一連接配接用于所有未來的通信

Light -與 http 相比,WebSocket 消息資料交換要輕得多。

什麼是 AOP?

在軟體開發過程中,跨越應用程式多個點的功能稱為交叉問題。這些交叉問題與應用程式

的主要業務邏輯不同。是以,将這些橫切關注與業務邏輯分開是面向方面程式設計(AOP)的

地方。

什麼是 Apache Kafka?

Apache Kafka 是一個分布式釋出 - 訂閱消息系統。它是一個可擴充的,容錯的釋出 - 訂閱

消息系統,它使我們能夠建構分布式應用程式。這是一個 Apache 頂級項目。Kafka 适合離

線和線上消息消費。

我們如何監視所有 Spring Boot 微服務?

Spring Boot 提供螢幕端點以監控各個微服務的度量。這些端點對于擷取有關應用程式的

資訊(如它們是否已啟動)以及它們的元件(如資料庫等)是否正常運作很有幫助。但

繼續閱讀