Skip to content

JUN SpringBoot API Service 是一个基于Spring Boot & MyBatis的API接口服务项目,基于当前项目,可快速构建中小型API、RESTful API接口,项目含有代码生成器,单表标接口一键生成,该项目已经有过多个真实项目的实践,稳定、简单、快速,让码农脱离重复劳动,专注于业务代码的编写,减少加班

Notifications You must be signed in to change notification settings

cgb-springboot/jun_springboot_api_service

 
 

Repository files navigation

jun_springboot_api_service

简介

JUN SpringBoot API Service 是一个基于Spring Boot & MyBatisPlus & JWT & Redis & Groovy脚本 的API接口服务项目, 项目使用Spring boot2.0+shiro+redis+mybatisplus+JWT 架构,可以适用 前后端分离项目后台或者APP接口后台,使用了Shiro-Redis-JWT实现分布式Session共享 基于当前项目,可快速构建中小型API、RESTful API接口,项目含有代码生成器,单表标接口一键生成 该项目已经有过多个真实项目的实践,稳定、简单、快速,让码农脱离重复劳动,专注于业务代码的编写,减少加班。

使用框架如下:

  • 核心框架:spring boot 2.1.6
  • 持久层框架:mybatisplus 3.4
  • 数据库连接池:alibaba druid 2
  • 安全框架:apache shiro
  • 缓存框架:redis(自定义 RedisTemplate 序列化)
  • 日志框架:logback
  • 接口文档:swagger 2.9.2
  • 接口文档:Fastjson
  • MyBatis(查看官方中文文档
  • MyBatisb通用Mapper插件(查看官方中文文档
  • MyBatis PageHelper分页插件(查看官方中文文档
  • 其他略

功能截图:

  • 一键生成表接口测试
  • 登录接口测试
  • swagger接口清单

特征&提供

  • 最佳实践的项目结构、配置文件、精简的POM
  • 统一响应结果封装及生成工具
  • 统一异常处理
  • 简单的接口签名认证
  • 常用基础方法抽象封装
  • 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
  • 使用FastJsonHttpMessageConverter,提高JSON序列化速度
  • 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零SQL
  • 使用SpringFox-Swagger2管理API文档
  • 使用lombok简化POJO
  • 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码,
  • 其中Controller模板默认提供POST和RESTful两套,根据需求在CodeGenerator.genController(tableName)方法中自己选择,默认使用POST模板。
  • 代码模板可根据实际项目的需求来扩展,由于每个公司业务都不太一样,所以只提供了一些比较基础、通用的模板,主要是提供一个思路来减少重复代码的编写,我在实际项目的使用中,其实根据公司业务的抽象编写了大量的模板。另外,使用模板也有助于保持团队代码风格的统一

快速开始

  1. 下载项目
  2. test包内的代码生成器CodeGenerator进行配置,主要是JDBC,因为要根据表名来生成代码
  3. 如果只是想根据上面的演示来亲自试试的话可以使用test resources目录下的sys_user.sql,否则忽略该步
  4. 输入表名,运行CodeGenerator.main()方法,生成基础代码(可能需要刷新项目目录才会出来)
  5. 根据业务在基础代码上进行扩展
  6. 对开发环境配置文件application-dev.properties进行配置,启动项目!  

开发建议

  • 表名,建议使用小写,多个单词使用下划线拼接
  • Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建DTO,否则需在扩展的成员变量上加@Transient注解,详情见通用Mapper插件文档说明
  • 建议业务失败直接使用ServiceException("message")抛出,由统一异常处理器来封装业务失败的响应结果,比如throw new ServiceException("该手机号已被注册"),会直接被封装为{"code":400,"message":"该手机号已被注册"}返回,无需自己处理,尽情抛出
  • 需要工具类的话建议先从apache-commons-*guava中找,实在没有再造轮子或引入类库,尽量精简项目
  • 开发规范建议遵循阿里巴巴Java开发手册(最新版下载)
  • 建议在公司内部使用SpringFox-Swagger2RAP等开源项目来编写、管理API文档 111

About

JUN SpringBoot API Service 是一个基于Spring Boot & MyBatis的API接口服务项目,基于当前项目,可快速构建中小型API、RESTful API接口,项目含有代码生成器,单表标接口一键生成,该项目已经有过多个真实项目的实践,稳定、简单、快速,让码农脱离重复劳动,专注于业务代码的编写,减少加班

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.6%
  • FreeMarker 3.1%
  • HTML 3.0%
  • Other 0.3%