JackBoot
JackBoot 是一个跨平台命令行工具,用于快速创建标准化的 Spring Boot 项目骨架。通过简单的交互过程,生成包含完整目录结构和丰富依赖的项目模板,大大减少项目初始化时间。
特性
- 🚀 跨平台支持:同时适用于 Windows、macOS 和 Linux 系统
- 🧩 完整的项目骨架:生成标准的 Spring Boot 项目目录结构
- 📦 丰富的依赖配置:预配置 MyBatis-Plus、Redis、Swagger、Knife4j 等常用依赖
- 🛠️ 基础工具类:内置常用工具类和配置类
- 🔄 多环境配置:预设开发、测试和生产环境配置
- 📝 代码规范:符合主流 Java 代码规范的项目结构
安装
使用 npm 全局安装:
npm install -g jackboot
或者使用 yarn:
yarn global add jackboot
使用方法
创建新项目
只需在终端中执行:
jackboot
按照交互提示,输入项目名称后,JackBoot 将自动生成完整的 Spring Boot 项目骨架。
项目结构
JackBoot 生成的项目结构如下:
project-name/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── jackasher/
│ │ │ └── project/
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器
│ │ │ ├── service/ # 服务接口
│ │ │ │ └── impl/ # 服务实现
│ │ │ ├── mapper/ # MyBatis Mapper接口
│ │ │ ├── model/ # 模型层
│ │ │ │ ├── pojo/ # 实体类
│ │ │ │ ├── request/ # 请求对象
│ │ │ │ ├── response/ # 响应对象
│ │ │ │ ├── dto/ # 数据传输对象
│ │ │ │ ├── vo/ # 视图对象
│ │ │ │ ├── param/ # 参数对象
│ │ │ │ ├── enums/ # 枚举类
│ │ │ │ ├── form/ # 表单对象
│ │ │ │ ├── event/ # 事件对象
│ │ │ │ ├── command/ # 命令对象(CQRS)
│ │ │ │ └── query/ # 查询对象(CQRS)
│ │ │ ├── common/ # 通用组件
│ │ │ ├── constant/ # 常量类
│ │ │ ├── exception/ # 异常处理
│ │ │ ├── util/ # 工具类
│ │ │ ├── job/ # 定时任务
│ │ │ └── Application.java # 启动类
│ │ └── resources/
│ │ ├── mapper/ # MyBatis XML配置
│ │ ├── static/ # 静态资源
│ │ ├── templates/ # 模板文件
│ │ ├── application.properties # 主配置文件
│ │ ├── application-dev.properties # 开发环境配置
│ │ ├── application-test.properties # 测试环境配置
│ │ └── application-prod.properties # 生产环境配置
│ └── test/
│ └── java/ # 测试代码
├── .gitignore # Git忽略文件
├── pom.xml # Maven配置
└── README.md # 项目说明
内置依赖
JackBoot 预配置了以下常用依赖:
- Spring Boot 3.1.7:最新稳定版本的Spring Boot框架
- MyBatis-Plus 3.5.7:增强版的MyBatis ORM框架
- MySQL Connector:MySQL数据库连接器
- Druid 1.2.20:高性能数据库连接池
- Redis & Redisson:缓存和分布式锁支持
- Spring Session:会话管理
- Knife4j 4.4.0:增强版Swagger API文档工具
- SpringDoc OpenAPI:API文档支持
- Lombok:代码简化工具
- Hutool 5.8.25:Java工具类库
- FastJSON2:高性能JSON处理库
- EasyExcel:Excel处理工具
- Commons Lang3/IO:Apache通用工具库
- Validation:参数验证
- AOP:面向切面编程支持
- Actuator:应用监控
特色功能
- 标准化目录结构:遵循DDD和CQRS设计原则的项目结构
- 完整的错误处理:预配置全局异常处理和自定义业务异常
- 通用返回对象:统一的API响应格式
- 跨域配置:内置跨域支持,可通过配置文件自定义
- Redis工具类:预配置Redis操作服务
- 数据库支持:配置好的MyBatis-Plus和分页插件
最佳实践
- 项目生成后,首先修改
application.properties
中的数据库连接信息 - 使用内置的
ErrorCode
和BusinessException
处理业务异常 - 利用
ResultUtils
构建统一的API响应 - API文档可通过访问
http://localhost:8080/doc.html
查看
贡献指南
欢迎贡献代码或提出建议!请遵循以下步骤:
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/amazing-feature
) - 提交你的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 开启一个 Pull Request
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
联系方式
如有问题或建议,请通过以下方式联系我们:
- 提交 Issue
- 发送邮件至:jackasher36@gmail.com