Skip to content

chenyongze/spring-boot-restful-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring-boot-restful-api

一个基于Spring Boot & MyBatis的纯净项目,用于快速构建中小型RESTful API项目~

发布上线

mvn clean package

上传jar包

服务器执行

java -jar xxxxx.jar

环境配置文件

############################################################
#
#
############################################################
spring.datasource.url=jdbc:mysql://114.215.25.201:4307/tangka_dev
spring.datasource.username=shengle_dev
spring.datasource.password=km3Z4JH)(kA-wwe-49Qo
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true

简介

这个项目用于快速构建中小型RESTful API项目,摆脱重复造轮子的的过程,专注于业务代码,少加班,多陪女朋友。

特征&提供

  • 统一响应结果封装处理
  • 统一异常拦截处理
  • 接口签名认证
  • 集成Druid数据库连接池与监控
  • 使用FastJsonHttpMessageConverter,提高JSON序列化速度
  • 集成MyBatis、通用Mapper插件、PageHelper分页插件,业务表单干净简介
  • 提供代码生成器可以根据表名生成对应的Model、Mapper、Mapper.xml、Service、ServiceImpl、Controller等基础代码

快速开始

  1. 克隆项目
  2. com.yi.project.codeGenerator包内的代码生成器CodeGenerator进行配置,主要是JDBC,因为要根据表名来生成代码
  3. 如果想自己试试的话可以使用src/test/sql目录下的结构和测试数据.sql
  4. 输入表名,运行CodeGenerator.mian()方法,生成基础代码,如果没有出来刷新一下
  5. 根据业务在基础代码上进行扩展
  6. 对开发环境配置文件application-dev.properties进行配置,启动项目,嘤嘤嘤!

图解:项目默认的包名是 com.yi.project,如需修改请看下图 代码生成器 CodeGenerator.java

Mybatis配置加载 MybatisConfigurer.java

properties配置文件 application.properties

开发建议

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

文档

感谢大佬

问题建议

About

spring boot restful maven api

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published