基础工具层
异常、函数式工具和通用基础能力,为上层 starter 提供稳定底座。
项目定位
它不是业务脚手架,而是一组可组合的 Spring Boot starter:你按需引入模块,让 Controller、Service、DAL、响应包装、鉴权、审计、Excel 和生成器各自自动装配,业务代码保留在真正有差异的地方。
Module Matrix
异常、函数式工具和通用基础能力,为上层 starter 提供稳定底座。
Entity、DTO、BO、Mapper 等分层对象,统一代码组织和转换边界。
统一 CRUD 接口和查询语义,向 MyBatis-Plus 与 JPA 适配层下沉差异。
提供 BaseCrudController / Service 组合,快速获得标准增删改查接口。
为 Reactive 应用保留同类约定,让 Web 与 WebFlux 共享行为心智。
面向可选鉴权场景,按需启用 JWT 能力,避免无关应用承担额外启动约束。
封装限流、防重复提交等常见保护能力,适合接口入口层复用。
基于 EasyExcel 的数据导入导出能力,减少列表型业务的重复实现。
通过 AOP 记录模块、方法、参数和结果,沉淀关键操作轨迹。
按表结构输出项目代码,降低后台管理类功能的起步成本。
Usage Examples
README 的快速开始示例使用 `fz-spring-boot-starter-web`,适合先接入 MVC 通用 CRUD 与统一响应能力。
<dependency>
<groupId>io.github.fbbzl</groupId>
<artifactId>fz-spring-boot-starter-web</artifactId>
<version>1.3.76_3.5.15</version>
</dependency>
面向常规后台管理接口,Controller 可以把标准端点交给 starter 处理。
@RestController
@RequestMapping("/user")
public class UserController extends BaseCrudController<
UserService, UserEntity, UserDTO, UserBO, Long> {
// GET /{id}, POST /page, POST /list
// POST /, PUT /, DELETE /{id}, DELETE /ids
}
接口响应被约定到固定 envelope,前端和 OpenAPI 文档都能围绕同一结构协作。
{
"code": 200,
"success": true,
"message": "Success",
"data": {
"id": 1001,
"name": "Alice"
}
}
Redisson starter 可以把限流和防重复提交封装成声明式注解。
@RateLimit(permits = 10, timeWindowMillis = 1000, byIp = true)
@SubmitOnce(waitMillis = 3000)
public R<String> submit(@RequestBody Q<UserDTO> req) {
return R.success("ok");
}
Generator starter 适合后台管理类应用,把重复的实体、DTO、BO、Mapper 和接口代码前置生成。
fz:
generator:
enable: true
table-names: sys_user, sys_role
base-package: com.example.myapp
Tech Stack
Source
访问 Gitee 仓库查看 README、模块源码和最新提交。