原创 Spring Boot中單元測試數據庫的切換策略

問題緣起 單元測試默認情況下使用嵌入式數據庫,例如H2。如果要切換爲MySQL,直接移除H2驅動,在application.properties(yml)配置相應的連接信息,都不起作用。那該如何切換配置呢? 單元測試數據庫 在Spring

原创 Git Hook開發實踐總結

前言: Git是由Linus大牛在一週時間內開發出來的分佈式版本管理系統,Linux的內核以及各類大小項目都是使用git來管理其版本以及迭代開發。本文將簡要介紹其hook的功能,並通過一個特定的hook實現來展示如何來開發hook

原创 Java程序命令行參數總結

前言: 在命令行中輸入可以輸入各類參數,本文將針對這些參數做一個小結。 基於命令行輸入參數 測試程序如下: import java.util.Arrays; public class Main { public static

原创 JUnit 4 vs JUnit 5

註解說明 單元測試方法 功能描述 JUnit 4 JUnit 5 定義方法測試 @Test @Test 區別: JUnit5中沒有聲明任何屬性,JUnit Jupiter中的測試擴展是基於它們自己的專用註解來完成

原创 Eclipse之Sonar異常問題解決

問題提出 在Eclipse中安裝sonar插件之後,碰到如下問題: ## 問題分析 Eclipse版本: 其中Sonar版本信息如下: 根據其中的問題,懷疑是lombok在自動生成Getter/Setter方法之時,造成的問題。

原创 Macos下查看端口占用信息

查看端口和process ID lsof -nP -i4TCP:8080| grep LISTEN 老版本的命令同樣支持: lsof -nP -iTCP:PORT∣grepLISTENlsof−nP−i:PORT | grep

原创 JDK 8 Stream List轉換爲Map的duplicate Key異常

Stream List to Map Stream提供了List轉換爲Map提供了非常易用的方法: Collectors.java: public static <T, K, U> Collector<T, ?, Map

原创 Spring Async使用以及ThreadPoolTaskScheduler not initialized問題分析

引言 在系統中,對於耗時比較多的操作,一般都會使用異步操作,或者單獨開一個線程進行處理。在Spring中,直接內置了@Async幫助大家一步到位,簡化使用,本文分析其中的一個問題。 代碼 代碼最直觀,直接上代碼: @Slf4j

原创 Maven項目檢查依賴包技巧總結

Maven項目依賴包 在Java世界裏,Maven用以管理項目的依賴包,其中存在直接依賴和間接依賴,會出現包之間的重複和多版本情況。該如何來檢查其當前使用的依賴包版本信息呢? 答案是: 使用mvn dependency:tree命

原创 MySQL之[42000][1055] Expression #1 of SELECT list is not in GROUP BY clause問題

問題提出 MySQL數據表查詢語句: select * from t_user where sex = 0 group by home_address having count(id)>0; 提示如下錯誤信息: [42000][

原创 Spring MVC Controller傳遞枚舉值示例

功能描述 本文將通過一個小示例,展示在請求參數中傳遞枚舉值。 枚舉定義 角色類定義: public enum RoleEnum { EMPLOYEE((short)1, "Employee"), MANAGER((short)2

原创 Java Generic Method設置類型

問題提出 在JUnit中編寫單元測試之時,發現如下問題: assertThat其定義如下: public static <T> void assertThat(T actual, Matcher<? super T> match

原创 @WebMVCTest中的404問題分析

問題分析 在創建單元測試Controller過程中,碰到了一個問題,具體如下: MockHttpServletResponse: Status = 404 Error message = null

原创 Spring UnitTest Http Status 401問題解決

問題提出 在編寫單元測試過程中,碰到如下問題: MockHttpServletResponse: Status = 401 Error message = Full authentication is

原创 Spring JPA Json循環依賴的問題分析

背景 Lombok中的@Data,其等價於: setter/getter、equals、canEqual、hashCode、toString 在Spring Data JPA中,對於存在雙向依賴的情況,類似如下: @Entity