# springboot **Repository Path**: young_chen/springboot ## Basic Information - **Project Name**: springboot - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-07-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 快速开始 1. 克隆项目 2. 对```test```包内的代码生成器```CodeGenerator```进行配置,主要是JDBC,因为要根据表名来生成代码 3. 如果只是想根据上面的演示来亲自试试的话可以使用```test resources```目录下的```demo-user.sql```,否则忽略该步 3. 输入表名,运行```CodeGenerator.main()```方法,生成基础代码(可能需要刷新项目目录才会出来) 4. 根据业务在基础代码上进行扩展 5. 对开发环境配置文件```application-dev.properties```进行配置,启动项目,Have Fun!   ## 开发建议 - 表名,建议使用小写,多个单词使用下划线拼接 - Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建DTO,否则需在扩展的成员变量上加```@Transient```注解,详情见[通用Mapper插件文档说明](https://mapperhelper.github.io/docs/2.use/) - 建议业务失败直接使用```ServiceException("message")```抛出,由统一异常处理器来封装业务失败的响应结果,比如```throw new ServiceException("该手机号已被注册")```,会直接被封装为```{"code":400,"message":"该手机号已被注册"}```返回,无需自己处理,尽情抛出 - 需要工具类的话建议先从```apache-commons-*```和```guava```中找,实在没有再造轮子或引入类库,尽量精简项目 - 开发规范建议遵循阿里巴巴Java开发手册([最新版下载](https://github.com/lihengming/java-codes/blob/master/shared-resources/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8CV1.2.0.pdf)) - 建议在公司内部使用[ShowDoc](https://github.com/star7th/showdoc)、[SpringFox-Swagger2](https://github.com/springfox/springfox) 、[RAP](https://github.com/thx/RAP)等开源项目来编写、管理API文档   ## 技术选型&文档 - Spring Boot([查看Spring Boot学习&使用指南](http://www.jianshu.com/p/1a9fd8936bd8)) - MyBatis([查看官方中文文档](http://www.mybatis.org/mybatis-3/zh/index.html)) - MyBatisb通用Mapper插件([查看官方中文文档](https://mapperhelper.github.io/docs/)) - MyBatis PageHelper分页插件([查看官方中文文档](https://pagehelper.github.io/)) - Druid Spring Boot Starter([查看官方中文文档](https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter/)) - Fastjson([查看官方中文文档](https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5)) - 其他略 ## 备注: 系统支持token验证和shiro双重验证 * token 验证: 前端在登陆成功后请求需要在header中添加参数:x-auth-token 生成的token有2种方式: 1. 允许同时登陆 直接将sessionid当token就可以 2. 不允许同时登陆 md5当前时间毫秒数为token 保证每次登陆都会生成一个新的token * 验证码生成:(/captcha/getcaptcha) 1.返回base64 显示图片直接设置为src就可以 ## License 无,纯粹开源分享,感谢大家 [Star](https://github.com/lihengming/spring-boot-api-project-seed/stargazers) & [Fork](https://github.com/lihengming/spring-boot-api-project-seed/network/members) 的支持。