我開源了一套springboot3快速開發模板
開箱即用、按需組合、可快速二次開發的后端通用模板。
? 主要特性
- Spring Boot 3.x + Java 17:跟隨 Spring 最新生態,利用現代語法特性。
- 多模塊分層:
common
抽象通用能力、starter
負責啟動、modules
承載業務邏輯,職責清晰、易于擴展。 - 依賴版本統一:父
pom
+bom
管理所有三方庫版本,避免沖突。 - 開箱即用組件:MyBatis-Plus、Redisson、MapStruct、Hutool、Lock4j、Sa-Token 等常用庫一應俱全。
- 多環境配置:
dev / prod
雙環境示例,可自由新增。 - 優雅異常 & 統一響應:內置
GlobalExceptionHandler
、R<T>
響應體及通用錯誤碼。 - 最佳實踐示例:含首頁
IndexController
、分頁 DTO、公用工具類等常用代碼范例。
目錄結構
u-springboot3-init
│
├── pom.xml # 根 POM,統一依賴 / 插件 / 版本
├── readme.md # 項目說明(本文檔)
│
├── xiaou-common # 通用能力層
│ ├── xiaou-common-bom # 統一版本
│ ├── xiaou-common-core # 常量 / 響應體 / 異常 / 工具類
│ ├── xiaou-common-web # Web & Undertow 基礎封裝
│ ├── xiaou-common-mybatis # MyBatis-Plus 及插件整合
│ └── xiaou-common-redis # Redis & Redisson & 緩存封裝
│
├── xiaou-starter # 項目啟動模塊(入口)
│ └── src/main/resources # application.yml & 多環境配置
│
└── xiaou-modules # 業務模塊集合(預留)
項目采用了多模塊的劃分。
是我自己提煉的一個精簡項目模板。里面包含了很多常用的工具類,對很多工具類都進行了一個擴展。
其中的starter模塊是一個項目的啟動類,一般在這里只需要啟動項目以及配置文件的編寫。
xiaou-common模塊
這個模塊集成了很多通用的工具類。
例如:分頁的dto
以及一些常用的工具類
全局錯誤攔截類
二開指南
一般業務二開引入
<dependency><groupId>com.xiaou</groupId><artifactId>xiaou-common-core</artifactId>
</dependency>
<dependency><groupId>com.xiaou</groupId><artifactId>xiaou-common-web</artifactId></dependency>
其他東西例如redis mybatis都是按需進行導入。
關于分頁用到了分頁插件。
IPage<SysOperLog> page = new Page<>();
page.setCurrent(dto.getPageNum());
page.setSize(dto.getPageSize());// 添加排序字段(以 create_time 字段為例)
QueryWrapper<SysOperLog> queryWrapper = new QueryWrapper<>();
QueryWrapperUtil.applySorting(queryWrapper, dto, List.of(dto.getSortField()));IPage<SysOperLog> collegeIPage = baseMapper.selectPage(page, queryWrapper);
可以通過下面的方法構建分頁對象
對象轉換方面用到了mapstruct.plus
只需要調用MapstructUtils.convert方法就可以
同時在需要映射的類加上automapper
項目地址
xiaou61/u-springboot3-init (github.com)
按領域拆分模塊,可顯著提升可維護性與團隊協作效率。