原创 Spring Boot項目中如何定製servlet-filters

本文首發於個人網站:Spring Boot項目中如何定製servlet-filters 在實際的web應用程序中,經常需要在請求(request)外面增加包裝用於:記錄調用日誌、排除有XSS威脅的字符、執行權限驗證等等。除了上述提到的之外

原创 Mac高效開發之iTerm2、Prezto和Solarized主題

本文首發於個人網站:Mac高效開發之iTerm2、Prezto和Solarized主題 工慾善其事必先利其器,作爲開發,我追求極致的高效,因此會在很多細節上追求效率,例如:命令行窗口敲命令的時候,如果能善用快捷鍵,就可以在短時間內敲更多的

原创 Spring Boot應用的健康監控

本文首發於個人網站:Spring Boot應用的健康監控 在之前的系列文章中我們學習瞭如何進行Spring Boot應用的功能開發,以及如何寫單元測試、集成測試等,然而,在實際的軟件開發中需要做的不僅如此:還包括對應用程序的監控和管理。

原创 Spring Boot構建的Web項目如何在服務端校驗表單輸入

本文首發於個人網站:Spring Boot構建的Web項目如何在服務端校驗表單輸入 這個例子用於演示在Spring Boot應用中如何驗證Web 應用的輸入,我們將會建立一個簡單的Spring MVC應用,來讀取用戶輸入並使用valida

原创 Spring Boot項目中如何定製攔截器

本文首發於個人網站:Spring Boot項目中如何定製攔截器 Servlet 過濾器屬於Servlet API,和Spring關係不大。除了使用過濾器包裝web請求,Spring MVC還提供HandlerInterceptor(攔截器

原创 Spring Boot項目中如何定製PropertyEditors

本文首發於個人網站:Spring Boot項目中如何定製PropertyEditors 在Spring Boot: 定製HTTP消息轉換器一文中我們學習瞭如何配置消息轉換器用於HTTP請求和響應數據,實際上,在一次請求的完成過程中還發生了

原创 在Spring Boot項目中使用Spock測試框架

本文首發於個人網站:在Spring Boot項目中使用Spock測試框架 Spock框架是基於Groovy語言的測試框架,Groovy與Java具備良好的互操作性,因此可以在Spring Boot項目中使用該框架寫優雅、高效以及DSL化的

原创 Spring Boot項目中使用Mockito

本文首發於個人網站:Spring Boot項目中使用Mockito Spring Boot可以和大部分流行的測試框架協同工作:通過Spring JUnit創建單元測試;生成測試數據初始化數據庫用於測試;Spring Boot可以跟BDD(

原创 自定義的Spring Boot starter如何設置自動配置註解

本文首發於個人網站:自定義的Spring Boot starter如何設置自動配置註解 在Spring Boot實戰之定製自己的starter一文最後提到,觸發Spring Boot的配置過程有兩種方法: spring.factorie

原创 Spring Boot項目如何同時支持HTTP和HTTPS協議

本文首發於個人網站:Spring Boot項目如何同時支持HTTP和HTTPS協議 如今,企業級應用程序的常見場景是同時支持HTTP和HTTPS兩種協議,這篇文章考慮如何讓Spring Boot應用程序同時支持HTTP和HTTPS兩種協議

原创 Spring Boot實戰之定製自己的starter

本文首發於個人網站,原文地址:http://www.javaadu.online/?p=535,如需轉載,請註明出處 在學習Spring Boot的過程中,接觸最多的就是starter。可以認爲starter是一種服務——使得使用某個功能的

原创 Spring Boot提供RESTful接口時的錯誤處理實踐

使用Spring Boot開發微服務的過程中,我們會使用別人提供的接口,也會設計接口給別人使用,這時候微服務應用之間的協作就需要有一定的規範。 基於rpc協議,我們一般有兩種思路:(1)提供服務的應用統一將異常包起來,然後用錯誤碼交互;(

原创 Spring Boot項目中使用事件派發器模式

在項目開發中,會遇到如下情形:我們自己的服務訂閱、接收來自消息隊列或者客戶端的事件和請求,基於不同的事件採取對應的行動,這種情況下適合應用派發器模式。 主要模塊 XXXEventDispatcher類核心類,維護事件類型(EventType

原创 JVM源碼分析之MetaspaceSize和MaxMetaspaceSize的區別

JVM加載類的時候,需要記錄類的元數據,這些數據會保存在一個單獨的內存區域內,在Java 7裏,這個空間被稱爲永久代(Permgen),在Java 8裏,使用元空間(Metaspace)代替了永久代。永久代和元空間保存的數據並不完全一樣,永

原创 JVM問題排查工具:Serviceability-Agent介紹

本文首發於微信公衆號:javaadu 簡單介紹 構建高性能的Java應用過程中,必然會遇到各種各樣的問題,像CPU飆高、內存泄漏、應用奔潰,以及其他疑難雜症,這時可以使用Serviceability Agent(SA)。SA是JDK提供的一