Spring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定、简单、快速,使我们摆脱那些重复劳动,专注于业务代码的编写,减少加班。下面是一个简单的使用演示,看如何基于本项目在短短几十秒钟内实现一套简单的API,并运行提供服务。
- master 分支 纯springboot +mybatis 手脚架项目,当前readme文档基于mater分支做介绍
- aijava 分支 在master基础上,集成了腾讯ai功能
- [modules] (多模块分支 分离service ,api和web模块)
- [hua-cloud] 临时分支,后期可删除
- 克隆项目
- 对
test
包内的代码生成器CodeGenerator
进行配置,主要是JDBC,因为要根据表名来生成代码 - 如果只是想根据上面的演示来亲自试试的话可以使用
test resources
目录下的demo-user.sql
,否则忽略该步 - 输入表名,运行
CodeGenerator.main()
方法,生成基础代码(可能需要刷新项目目录才会出来) - 根据业务在基础代码上进行扩展
- 对开发环境配置文件
application-dev.properties
进行配置,启动项目,Have Fun!
parent
common 通用模块,不依赖spring
boot-common spring boot 项目通用模块,添加项目初始化器
provider-api 各个模块api接口 和实体类,推荐目录结构请参考模块下 readme
serviceA-provider spring boot mybatis 集成(在考虑把这个模块 做成spring boot mybatis starter)
- 表名,建议使用小写,多个单词使用下划线拼接
- Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建DTO,否则需在扩展的成员变量上加
@Transient
注解,详情见通用Mapper插件文档说明 - 建议业务失败直接使用
ServiceException("message")
抛出,由统一异常处理器来封装业务失败的响应结果,比如throw new ServiceException("该手机号已被注册")
,会直接被封装为{"code":400,"message":"该手机号已被注册"}
返回,无需自己处理,尽情抛出 - 需要工具类的话建议先从
apache-commons-*
和guava
中找,实在没有再造轮子或引入类库,尽量精简项目 - 开发规范建议遵循阿里巴巴Java开发手册(最新版下载)
- 建议在公司内部使用ShowDoc、SpringFox-Swagger2 、RAP等开源项目来编写、管理API文档