mall學習教學,架構、業務、技術要點全方位解析。mall專案(50k+star)是一套電商系統,使用現階段主流技術實現。涵蓋了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技術,採用Docker容器化部署。
專案github地址: github.com
可以把github上的專案轉移到gitee上,方便克隆到idea。
具體步驟如下:
由於github部署在國外,雖然idea也支援從github上拉取,但是克隆速度太慢,所以才推薦上述匯入gitee後在克隆專案到idea。
具體的克隆步驟過於簡單和常規化,讀者可自行完成,或百度一下~
API檔案
: Overview (hutool-碼雲(gitee.com))
hutool開發檔案
: Hutool (開發時遇到需求在自行查檔案,先有個印象)
Hutool 是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅。
Hutool中的工具方法來自每個使用者的精雕細琢,它涵蓋了Java開發底層程式碼中的方方面面,它既是大型專案開發中解決小問題的利器,也是小型專案中的效率擔當;
Hutool是專案中「util」包友好的替代,它節省了開發人員對專案中公用類和公用工具方法的封裝時間,使開發專注於業務,同時可以最大限度的避免封裝不完善帶來的bug。
mall-tiny-hutool
專案原始碼只是展示了一些開發中常用的工具包,其它沒有展示的可以自行了解上方的hutool開發檔案
,檔案講的挺詳細的。
解析內容:下方的解析內容大部分在圖中解釋,外面就不做過多的闡述。
直接拿原始碼分析,只分析與hutool有關的部分,設計業務部分不做過多的描述,其它部分讀者請自行看原始碼分析。
專案啟動:只需要啟動mall-tiny-hutool
模組的部分即可。
啟動所需:啟動mysql5的服務,建立資料庫,並匯入表(sql檔案位置在,專案同級目錄的document
資料夾裡)。
ps:記得修改資料庫連線的設定資訊。
在pom檔案
中匯入hutool的相關依賴。
對於swagger介面檔案
,由於介面都是get請求
,且返回的都是操作成功和null資料,就不做過多的展示,只展示一次,瞭解接下來有那些工具類的使用。
下面的例子
都是該工具類的一小部分,我是先看完官方的開發檔案在對程式碼分析的,建議看到那個工具類就把相應的官方檔案看一遍,加深印象。
註解工具類開發檔案定位
:註解工具-AnnotationUtil | Hutool
1、控制層介面
方法中使用了 AnnotationUtil 工具類來獲取指定類上的註解資訊,包括註解列表和註解的屬性值,並將結果列印出來
2、idea控制檯列印的紀錄檔資訊
Bean工具類開發檔案定位
: Bean工具-BeanUtil | Hutool
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
CaptchaUtil工具類開發檔案定位
: 概述 | Hutool
1、控制層介面
2、生成圖形驗證碼效果
ClassPath工具類開發檔案定位
: ClassPath資源存取-ClassPathResource | Hutool
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
CollUtil工具類開發檔案定位
: 集合工具-CollUtil | Hutool
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
Convert工具類開發檔案定位
: 型別轉換工具類-Convert | Hutool
1、控制層介面
DateUtil工具類開發檔案定位
: 日期時間工具-DateUtil | Hutool
1、控制層介面
DigestUtil工具類開發檔案定位
: 摘要加密-Digester | Hutool
官方開發檔案還有很多其他的加密演演算法,可自行去了解。
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
HttpUtil工具類開發檔案定位
: Http使用者端工具類-HttpUtil | Hutool
官方開發檔案還有很多其他的http使用者端的用法,可自行去了解。
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
JSONUtil工具類開發檔案定位
: JSON工具-JSONUtil | Hutool
官方開發檔案還有JSON物件和JSON陣列的用法,可自行去了解。
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
MapUtil工具類開發檔案定位
: Map工具-MapUtil | Hutool
官方開發檔案還有Map的其它用法,可自行去了解。
1、控制層介面
NumberUtil工具類開發檔案定位
: 數位工具-NumberUtil | Hutool
1、控制層介面
ReflectUtil工具類開發檔案定位
: 反射工具-ReflectUtil | Hutool
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
SecureUtil工具類開發檔案定位
: 加密解密工具-SecureUtil | Hutool
1、控制層介面
StrUtil工具類開發檔案定位
: 字串工具-StrUtil | Hutool
1、控制層介面
Validator工具類開發檔案定位
: 欄位驗證器-Validator | Hutool
1、控制層介面
2、idea控制檯列印的紀錄檔資訊
感想是:先出糙的瞭解一下,當業務需要,先檢視
官方的開發檔案,若果未解決就可以以開發檔案為導向,來定位到
API檔案,從而完成業務,
本文是有我先從實際專案中獲取需求,從而對Hutool工具類庫的學習,結合原始碼來學習,從mall
開源專案中學習Hutool,感覺收穫頗深,希望這篇文章對你們也會有所幫助。
後續我也會結合該框架學習一下其他的技術棧。
盈若安好,便是晴天