原创 Java源碼分析 | CharSequence

本文基於 OracleJDK 11, HotSpot 虛擬機。 CharSequence 定義 CharSequence 是 java.lang 包下的一個接口,是 char 值的可讀序列, 即其本身描述的就是字符串。因此我們可以直接使

原创 Java源碼分析 | Object

本文基於 OracleJDK 11, HotSpot 虛擬機。 Object 定義 Object 類是類層次結構的根。每個類都有 Object 類作爲超類。所有對象,包括數組等,都實現了這個類的方法。 靜態代碼塊 在Object類的最開

原创 Spring Cloud(二):Eureka 服務註冊中心

前言 服務治理 隨着業務的發展,微服務應用也隨之增加,這些服務的管理和治理會越來越難,並且集羣規模、服務位置、服務命名都會發生變化,手動維護的方式極易發生錯誤或是命名衝突等問題。而服務治理正是爲了解決這個問題,服務治理是微服務架構中最爲核

原创 Spring Boot 2.X(十八):集成 Spring Security-登錄認證和權限控制

前言 在企業項目開發中,對系統的安全和權限控制往往是必需的,常見的安全框架有 Spring Security、Apache Shiro 等。本文主要簡單介紹一下 Spring Security,再通過 Spring Boot 集成開一個簡單

原创 Spring Boot 2.X(十七):應用監控之 Spring Boot Admin 使用及配置

Admin 簡介 Spring Boot Admin 是 Spring Boot 應用程序運行狀態監控和管理的後臺界面。最新UI使用vue.js重寫裏。 Spring Boot Admin 爲已註冊的應用程序提供了豐富的監控運維功能。如下:

原创 Spring Boot 2.X(十六):應用監控之 Spring Boot Actuator 使用及配置

Actuator 簡介 Actuator 是 Spring Boot 提供的對應用系統的自省和監控功能。通過 Actuator,可以使用數據化的指標去度量應用的運行情況,比如查看服務器的磁盤、內存、CPU等信息,系統的線程、gc、運行狀態等

原创 Spring Boot 2.X(十一):全局異常處理

前言 在 Java Web 系統開發中,不管是 Controller 層、Service 層還是 Dao 層,都有可能拋出異常。如果在每個方法中加上各種 try catch 的異常處理代碼,那樣會使代碼非常繁瑣。在Spring MVC 中,

原创 Spring Boot 2.X(十五):集成 Swagger2 開發 API 文檔(在線+離線)

前言 相信很多後端開發在項目中都會碰到要寫 api 文檔,不管是給前端、移動端等提供更好的對接,還是以後爲了以後交接方便,都會要求寫 api 文檔。 而手寫 api 文檔的話有諸多痛點: 文檔更新的時候,需要再次發送給對接人 接口太對,手

原创 Spring Boot 2.X(十四):日誌功能 Logback

Logback 簡介 Logback 是由 SLF4J 作者開發的新一代日誌框架,用於替代 log4j。 主要特點是效率更高,架構設計夠通用,適用於不同的環境。 Logback 分爲三個模塊:logback-core,logback-cla

原创 Spring Boot 2.X(十二):定時任務

簡介 定時任務是後端開發中常見的需求,主要應用場景有定期數據報表、定時消息通知、異步的後臺業務邏輯處理、日誌分析處理、垃圾數據清理、定時更新緩存等等。 Spring Boot 集成了一整套的定時任務工具,讓我們專注於完成邏輯,剩下的基礎調度

原创 Spring Boot 2.X(十三):郵件服務

前言 郵件服務在開發中非常常見,比如用郵件註冊賬號、郵件作爲找回密碼的途徑、用於訂閱內容定期郵件推送等等,下面就簡單的介紹下郵件實現方式。 準備 一個用於發送的郵箱,本文是用騰訊的域名郵箱,可以自己搞一個域名綁定下,登錄地址:http://

原创 Spring Boot 2.X(十一):全局異常處理

前言 在 Java Web 系統開發中,不管是 Controller 層、Service 層還是 Dao 層,都有可能拋出異常。如果在每個方法中加上各種 try catch 的異常處理代碼,那樣會使代碼非常繁瑣。在Spring MVC 中,

原创 Spring Boot 2.X(十):自定義註冊 Servlet、Filter、Listener

前言 在 Spring Boot 中已經移除了 web.xml 文件,如果需要註冊添加 Servlet、Filter、Listener 爲 Spring Bean,在 Spring Boot 中有兩種方式: 使用 Servlet 3.0

原创 Spring Cloud(一):入門篇

Spring Cloud 簡介 Spring Cloud 是一個基於 Spring Boot 實現的微服務架構開發工具,可以快速構建分佈式系統中的某些常用模式,如配置管理、服務治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分佈

原创 Spring Boot 2.X(九):Spring MVC - 攔截器(Interceptor)

攔截器 1.簡介 Spring MVC 中的攔截器(Interceptor)類似於 Servlet 開發中的過濾器 Filter,它主要用於攔截用戶請求並作相應的處理,它也是 AOP 編程思想的體現,底層通過動態代理模式完成。 2.定義實現