原创 Oracle用decode函數或CASE-WHEN實現自定義排序

1 問題 對SQL排序,只要在order by後面加字段就可以了,可以通過加desc或asc來選擇降序或升序。但排序規則是默認的,數字、時間、字符串等都有自己默認的排序規則。有時候需要按自己的想法來排序,而不是按字段默認排序規則。

原创 Mockito如何mock一條鏈式調用

在寫單元測試的時候,不免可能需要mock一些對象出來,並且mock一些方法調用去返回一個自己想要的對象。一般的使用是這樣的: FinalPumpkin pumpkin = mock(FinalPumpkin.class); whe

原创 Java怎麼從這四個位置讀取配置文件Properties(普通文件系統-classpath-jar-URL)

1 簡介 讀取文件內容是Java常規操作,特別是讀取配置文件,本文將介紹四種讀取配置文件(Properties格式爲例)的情況,分別是從普通文件系統、classpath、jar包內、網絡資源URL。 2 四種位置 通過四個小示例來

原创 單元測試中使用Spring的ReflectionTestUtils更方便

1 簡介 ReflectionUtils是Spring中一個常用的類,屬於spring-core包;ReflectionTestUtils則屬於spring-test包。兩者功能有重疊的地方,而ReflectionUtils會更強

原创 Java創建對象的六種方法-權當記錄一下

1 簡介 Java是面向對象的編程語言,只要使用它,就需要創建對象。Java創建對象有六種方法,實際常用的不會這麼多,這裏權當是記錄一下。 2 六種方法 (1)使用new關鍵字 Pumpkin p1 = new Pumpkin()

原创 Intellij IDEA運行報Command line is too long的解決辦法

報錯信息大概如下: Error running 'xxx': Command line is too long. Shorten command line for xxx or also for Application defau

原创 Https雙向驗證與Springboot整合測試-人來人往我只認你

1 簡介 不知不覺Https相關的文章已經寫了6篇了,本文將是這個專題的最後一篇,起碼近期是最後一篇。前面6篇講的全都是單向的Https驗證,本文將重點介紹一下雙向驗證。有興趣的同學可以瞭解一下之前的文章: (0)Https專題

原创 Springboot-WebFlux實現http重定向到https

1 簡介 Spring WebFlux是一個新興的技術,Spring團隊把寶都壓在響應式Reactive上了,於是推出了全新的Web實現。本文不討論響應式編程,而是通過實例講解Springboot WebFlux如何把http重定

原创 nginx開啓ssl並把http重定向到https的兩種方式

1 簡介 Nginx是一個非常強大和流行的高性能Web服務器。本文講解Nginx如何整合https並將http重定向到https。 https相關文章如下: (1)Springboot整合https原來這麼簡單 (2)HTTPS之

原创 Springboot以Jetty爲容器實現http重定向到https

1 簡介 之前講解的Springboot整合https用的是tomcat作爲容器,tomcat也是一個流行多年的老牌Java容器了。但針對不同的場景,還是會有不同的選擇,如Jetty。Jetty是架構相對簡單、基於Handler的

原创 Springboot以Tomcat爲容器實現http重定向到https的兩種方式

1 簡介 本文將介紹在Springboot中如何通過代碼實現Http到Https的重定向,本文僅講解Tomcat作爲容器的情況,其它容器將在以後一一道來。 建議閱讀之前的相關文章: (1) Springboot整合https原來

原创 HTTPS之密鑰知識與密鑰工具Keytool和Keystore-Explorer

1 簡介 之前文章《Springboot整合https原來這麼簡單》講解過一些基礎的密碼學知識和Springboot整合HTTPS。本文將更深入講解密鑰知識和密鑰工具。 2 密鑰知識-非對稱加密 這部分知識非常重要,理解了關鍵的密

原创 Springboot整合https原來這麼簡單

1 簡介 HTTP是不安全的,我們需要給它套上SSL,讓它變成HTTPS。本文章將用實例介紹Springboot整合HTTPS。 2 密碼學基礎 要談https就要談Security,自然就要談安全;談及安全,就必然涉及密碼學的一

原创 實例講解Springboot以Template方式整合Redis及序列化問題

1 簡介 之前講過如何通過Docker安裝Redis,也講了Springboot以Repository方式整合Redis,建議閱讀後再看本文效果更佳: (1) Docker安裝Redis並介紹漂亮的可視化客戶端進行操作 (2) 實

原创 實例講解Springboot以Repository方式整合Redis

1 簡介 Redis是高性能的NoSQL數據庫,經常作爲緩存流行於各大互聯網架構中。本文將介紹如何在Springboot中整合Spring Data Redis,使用Repository的方式操作。 代碼結構如下: 2 整合過程