UNPKG

jackboot

Version:

A cross-platform command line tool to create SpringBoot projects

150 lines (116 loc) 6.21 kB
# JackBoot [![npm version](https://img.shields.io/npm/v/jackboot.svg)](https://www.npmjs.com/package/jackboot) [![License](https://img.shields.io/npm/l/jackboot.svg)](https://github.com/yourusername/jackboot/blob/main/LICENSE) JackBoot 是一个跨平台命令行工具,用于快速创建标准化的 Spring Boot 项目骨架。通过简单的交互过程,生成包含完整目录结构和丰富依赖的项目模板,大大减少项目初始化时间。 ## 特性 - 🚀 **跨平台支持**:同时适用于 Windows、macOS 和 Linux 系统 - 🧩 **完整的项目骨架**:生成标准的 Spring Boot 项目目录结构 - 📦 **丰富的依赖配置**:预配置 MyBatis-Plus、Redis、Swagger、Knife4j 等常用依赖 - 🛠️ **基础工具类**:内置常用工具类和配置类 - 🔄 **多环境配置**:预设开发、测试和生产环境配置 - 📝 **代码规范**:符合主流 Java 代码规范的项目结构 ## 安装 使用 npm 全局安装: ```bash npm install -g jackboot ``` 或者使用 yarn: ```bash yarn global add jackboot ``` ## 使用方法 ### 创建新项目 只需在终端中执行: ```bash 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**:应用监控 ## 特色功能 1. **标准化目录结构**:遵循DDD和CQRS设计原则的项目结构 2. **完整的错误处理**:预配置全局异常处理和自定义业务异常 3. **通用返回对象**:统一的API响应格式 4. **跨域配置**:内置跨域支持,可通过配置文件自定义 5. **Redis工具类**:预配置Redis操作服务 6. **数据库支持**:配置好的MyBatis-Plus和分页插件 ## 最佳实践 - 项目生成后,首先修改`application.properties`中的数据库连接信息 - 使用内置的`ErrorCode``BusinessException`处理业务异常 - 利用`ResultUtils`构建统一的API响应 - API文档可通过访问`http://localhost:8080/doc.html`查看 ## 贡献指南 欢迎贡献代码或提出建议!请遵循以下步骤: 1. Fork 本仓库 2. 创建你的特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交你的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 开启一个 Pull Request ## 许可证 本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。 ## 联系方式 如有问题或建议,请通过以下方式联系我们: - 提交 Issue - 发送邮件至:jackasher36@gmail.com