本项目是一个基于 Spring Boot 2.2 的微服务代码生成器,集成了 MySQL、MybatisPlus、Redis、Consul、OpenFeign 等主流组件,能够一键生成微服务架构的种子项目,助力快速开始微服务开发。
- Spring Boot 2.2
- MySQL
- MybatisPlus
- Redis
- Consul
- OpenFeign
每次生成的微服务项目包含以下三个基础模块:
- simple-client:服务间远程调用接口(OpenFeign 客户端)
- simple-pojo:实体类、DTO、VO、枚举等通用数据结构
- simple-service:业务服务实现,包含 Controller、Business、Service、DAO、配置等
项目生成的微服务器框架是基于SpringBoot2.x,同时依赖SprintCloud SR5 版本中的多个组件,还有其他三方组件(fastjson,hutools 等)所以为了统一管理依赖组件的版本,pom.xml 需要添加
<parent>
<groupId>com.easyapi</groupId>
<artifactId>easy-starter-parent</artifactId>
<version>1.1.1-SNOWFLAKEID-RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
需要自行clone本组织管理的git仓库 https://github.com/jurentiancheng/springboot-easy-starter-parent
clone完代码后请自行 deploy 到私域maven仓库。完成deploy后才能正常更新示例项目中的依赖项。
依赖 MySQL、Redis、Consul 修改 simple-service/src/main/resources/application-local.yml 数据库、Redis 配置 启动服务
cd simple-service
mvn clean package
java -jar target/simple-service-*.jar
http://localhost:18000/v1/simple/doc.html
主要 API 说明 以 simple 资源为例,支持如下接口(详见 Swagger 文档):
- GET /simple/page 分页查询
- GET /simple/list 列表查询
- GET /simple/{id} 根据ID查询详情
- POST /simple/save 新增
- POST /simple/saveBatch批量新增
- PUT /simple/update 根据ID更新
- DELETE /simple/batch 批量删除
所有接口均支持通过 Feign 客户端远程调用。
cd simple-service
./dockerbuild.sh save # save|push save: 导出本地镜像tar包;push: 推送镜像到私有Dockerhub
- 启动本项目,访问前端页面,填写数据库连接信息。
- 选择需要生成代码的表,点击生成,即可下载包含 client、pojo、service 的微服务种子项目。
- 解压生成的代码,按需进行二次开发。
如需自定义生成模块的名称,可在
src/main/resources/generator.properties
文件中修改moduleName
的值。
- 访问
http://localhost:8000
,勾选需要生成的表,可一次选择多个表。
- 一键生成标准微服务三层结构(client/pojo/service)
- 支持多种主流数据库(MySQL、Oracle、SQLServer、PostgreSQL、KingBase)
- 集成 MybatisPlus,支持分页、条件查询等常用功能
- 支持 Consul 注册与配置中心,OpenFeign 服务间调用
- 可扩展模板,支持自定义代码生成
如有建议或问题,欢迎提交 Issue 或 PR。
本项目旨在提升微服务开发效率,生成的代码为标准种子项目,可直接用于实际开发或作为学习参考。 本项目基于github项目
https://github.com/renrenio/renren-generator
后端技术栈集成SpringBoot,MybatisPlus 时做了增强,在次特别鸣谢!