原创 alpha、beta、rc各版本區別

很多軟件在正式發佈前都會發布一些預覽版或者測試版,一般都叫“beta版”或者 “rc版”,特別是開源軟件,甚至有“alpha版”,下面來解釋一下各個版本的意思。 alpha版:內部測試版。α是希臘字母的第一個,表示最早的版本,一般

原创 slf4j + log4j2 的使用

閱讀目錄前言快速使用引入依賴排除依賴衝突配置文件日誌打印代碼log4j2的優點log4j2.xml配置文件說明 前言 log4j2是 log4j 的進化版本,並提供了許多 logback 可用的改進,同時解決了 Logback 體

原创 領域驅動設計系列文章2 —— 淺析VO、DTO、DO、PO的概念、區別和用處

領域驅動設計系列文章 通過現實例子顯示領域驅動設計的威力 淺析VO、DTO、DO、PO的概念、區別和用處 有選擇性的使用領域驅動設計 閱讀目錄前言概念模型VO與DTO的區別VO與DTO的應用DTO與DO的區別DTO與DO的應

原创 SpringBoot中使用Swagger2構建強大的API文檔

閱讀目錄前言準備工作整合Swagger2添加文檔內容API文檔訪問與調試代碼示例其他參考 前言 隨着前後端分離架構和微服務架構的流行,我們使用Spring Boot來構建RESTful API項目的場景越來越多。通常我們的一個RE

原创 領域驅動設計系列文章3 —— 有選擇性的使用領域驅動設計

領域驅動設計系列文章 通過現實例子顯示領域驅動設計的威力 淺析VO、DTO、DO、PO的概念、區別和用處 有選擇性的使用領域驅動設計 閱讀目錄前言影響選擇的因素領域驅動設計的缺點選擇使用領域驅動設計的導性原則 前言 本系列的

原创 @Validated和@Valid的區別

Spring Validation驗證框架對參數的驗證機制提供了@Validated(Spring’s JSR-303規範,是標準JSR-303的一個變種),javax提供了@Valid(標準JSR-303規範),配合Bindin

原创 防止form表單重複提交的幾種方案

閱讀目錄前言form重複提交場景解決方案一:前端利用JavaScript防止表單重複提交二:利用Session防止表單重複提交三:使用重定向也可以解決form表單重複提交問題參考 前言 如果網速比較慢的情況下,用戶點擊的提交發現半

原创 領域驅動設計系列文章1 —— 通過現實例子顯示領域驅動設計的威力

領域驅動設計系列文章 通過現實例子顯示領域驅動設計的威力 淺析VO、DTO、DO、PO的概念、區別和用處 有選擇性的使用領域驅動設計 閱讀目錄問題描述案例分析面向過程的設計方式(貧血模型)面向過程的領域驅動設計方式(充血模型

原创 Redis key前綴的設計與使用

閱讀目錄採用模板方法模式進行設計前綴空間RedisPrefixKey 接口RedisBasePrefixKey 抽象類UserKey 實現類(自定義)改造RedisUtil工具類的方法具體使用參考 在Java web開發中,red

原创 Java 獲取含有中文字符字符串的字節長度

由於Java是基於Unicode編碼的,因此,一個漢字的長度爲1,而不是2。 但有時需要以字節單位獲得字符串的長度。例如,“123abc長城”按字節長度計算是10,而按Unicode計算長度是8。 爲了獲得10,需要從頭掃描根據字

原创 Ajax發送Post請求,後端控制器使用重定向頁面沒有自動跳轉

閱讀目錄問題描述原因解析解決方法攜帶參數進行重定向RedirectAttributes的使用使用RedirectAttributes攜帶參數進行重定向例子小疑惑 問題描述 前端的form表單提交,Ajax發送了一個post請求,後

原创 Spring @Controller 和@RestController註解

閱讀目錄1.概述2. Spring MVC @Controller3. Spring MVC @RestController 1.概述 在本快速入門教程中,我們將討論Spring MVC中@Controller和@RestCont

原创 JAVA 8 函數式接口 - Functional Interface

閱讀目錄什麼是函數式接口(Functional Interface)函數式接口用途關於@FunctionalInterface註解函數式接口裏允許定義默認方法函數式接口裏允許定義靜態方法函數式接口裏允許定義java.lang.Ob

原创 IDEA 中使用.ignore插件忽略不必要提交的文件

最近初學Git,而且在使用的IDE是IntelliJ IDEA,發現IDEA在提交項目到本地倉庫的時候,會把.idea文件夾中的內容也提交上去,這裏面放的是一些項目的配置信息,包括歷史記錄,版本控制信息等。可以不傳到Git上面去。

原创 IDEA中使用SpringBoot 熱啓動

在開發過程中,當寫完一個功能我們需要運行應用程序測試,可能這個小功能中存在多個小bug,我們需要改正後重啓服務器,這無形之中拖慢了開發的速度增加了開發時間,SpringBoot提供了spring-boot-devtools,使我們