yue-library是一個基於SpringBoot封裝的基礎庫,內置豐富的JDK工具,自動裝配了一系列的基礎Bean與環境配置項,可用於快速構建SpringCloud項目,讓微服務變得更簡單。
基本介紹
- 中文名:曰庫
- 外文名:yue-library
工程結構,快速開始,引入項目依賴,版本說明,模組說明,yue-library-base(必備),yue-library-data-jdbc(強烈推薦),yue-library-data-redis(推薦),
工程結構
. yue-library├── yue-library 基礎庫│ ├── yue-library-dependencies 父pom│ ├── yue-library-base 基礎庫提供了豐富的Java工具包,同時也自動裝配了一系列基礎Bean等│ ├── yue-library-data-jdbc 基於SpringJDBC進行二次封裝,擁有著強大性能的同時又不失簡單、靈活等│ ├── yue-library-data-redis 基於SpringRedis進行二次封裝,更簡單靈活,提供全局token與登錄相關特性等│ ├── yue-library-pay 基於pay-java-parent進行二次封裝,讓你真正做到一行代碼實現支付聚合│ ├── yue-library-cloud-oss│ └── yue-library-cloud-sms├── yue-library-samples 基礎庫示例│ ├── yue-library-test yue-library代碼測試項目:單元測試、接口測試、代碼示例│ ├── yue-library-template-simple yue-library模版:SpringBoot項目模版│ └── yue-library-template-ssc yue-library模版:SpringCloud項目模版,SOA共享架構(阿里巴巴中台)└── yue
快速開始
引入項目依賴
maven項目,在pom.xml檔案中添加如下一段代碼,並將${version}替換為對應版本號:
<parent> <groupId>ai.ylyue</groupId> <artifactId>yue-library-dependencies</artifactId> <version>${version}</version></parent>
隨後引入所需要的模組,如基礎庫:yue-library-base
<dependencies> <dependency> <groupId>ai.ylyue</groupId> <artifactId>yue-library-base</artifactId> </dependency> ...</dependencies>
版本說明
yue-library的版本命名方式,採用SpringCloud版本名作為前綴,然後以.1、.2、.3...這種形式,目的是為了方便區分所依賴的SpringCloud版本。
yue-library-base為其他模組的基礎依賴(簡稱基礎庫),所以若需要引入除基礎庫之外的模組(如:data-jdbc、data-redis),可以不引入yue-library-base。
JDK版本 | JDK說明 | SpringCloud版本 | 版本說明 |
JDK8 | LTS(Oracle長期支持版本),目前大部分網際網路公司採用版本 | Finchley | JDK8兼容版本,每次新特性發布都會進行一次全面的兼容適配與測試,以供JDK8用戶穩定使用 |
JDK11 | LTS(Oracle長期支持版本),作者採用版本 | Greenwich | JDK11推薦版本,提供更快速的疊代與反饋 |
模組說明
yue-library-base(必備)
yue-library-base提供了豐富的Java工具包,它能夠幫助我們簡化每一行代碼(集成Hutool工具包)。
同時也自動裝配了一系列基礎Bean,可在 application.yml檔案中配置關閉,所有配置項皆是以yue.*開頭,如:yue.cors.allow=false代表不允許跨域。
- 豐富的Java基礎工具類,對檔案、流、加密解密、轉碼、正則、執行緒、XML等JDK方法進行封裝
- 默認開啟熱載入、熱部署、支持跨域,一鍵解決聯調問題
- 全局統一異常處理基類,結合Result對象,定位異常更輕鬆,前端顯示更貼切
- 異步執行緒池:共用父執行緒上下文環境,異步執行任務時不丟失token
- ResultHttp最外層回響對象,更適應Restful風格API
- validator參數校驗器,支持單參數連寫與POJO對象(註解)校驗等,更多的校驗規則,更貼切的國內校驗場景。(如:手機號、身份證號碼)
- Convert 類型轉換器,內置hutool、fastjson、yue三種類型轉換規則,判斷精確性能強大,未知類型兼容性更強
yue-library-data-jdbc(強烈推薦)
data-jdbc庫基於SpringJDBC進行二次封裝,擁有著強大性能的同時又不失簡單、靈活。特性如下:
- 比SpringJDBC更方便好用、比SpringJPA更簡單靈活
- 無侵入:data-jdbc 在 SpringJDBC 的基礎上進行擴展,只做增強不做改變,簡化`CRUD`操作
- 依賴管理:引入即可啟動項目,關聯druid實現SQL全監控
- 預防Sql注入:內置Sql注入剝離器,有效預防Sql注入攻擊
- 損耗小:封裝大量經過SQL最佳化處理的CRUD方法,直接面向對象操作,對比原生級CRUD處理,性能基本無損耗甚至更優
- 通用CRUD操作:內置通用 DAO,通過繼承方式即可實現單表大部分 CRUD 操作
- 更科學的分頁:分頁參數自動解析,寫分頁等同於寫基本List查詢。更有最佳化型分頁SQL檢查
- 內置性能分析外掛程式:可輸出Sql語句以及其執行時間,建議開發測試時啟用該功能,能有效解決慢查詢
- 類型強化:支持原生級SQL查詢,並強化原生查詢結果,簡單便捷 + 可維護組合(支持全JSON或全DO)
- CRUD校驗:CRUD操作是否符合預期,更好的避免髒數據的產生與違規操作
- 全局異常處理:CRUD操作相關異常統一處理,定位更精準,提示更友好,實現全局Restful風格
yue-library-data-redis(推薦)
data-redis庫基於SpringRedis進行二次封裝,更簡單靈活,提供全局token與登錄等特性:
- 簡化使用並擁有Redis原生常用命令所對應的方法
- 保留SpringRedis所有常用特性:分散式快取
- 提供分散式token、分散式鎖
- 封裝大量第三方登錄特性,使登錄更簡單易於維護
- 封裝常用的登錄判斷操作與redis-token解析