1 Star 0 Fork 4

YangMain / Spring脚手架

forked from Yeebo / Spring脚手架 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Spring脚手架

项目介绍

基于Spring boot构建的后端服务框架

软件架构

整体项目基于Spring boot配合Mybatis构建,maven做打包与依赖工具。项目中用到了druid做数据库连接池,pagehelper做数据查询分页,guava为Java工具包, fastjson处理json格式数据,okhttp作为http连接工具类。

安装依赖

  1. 项目依赖于lombok,对应IDE环境中提前安装lombok插件
  2. 工具集成有HuTool,具体使用方法网上查阅
  3. 项目已集成基于Redis的分布式锁,具体使用参考封装工具类RedisUtils
  4. 项目集成二维码识别与生成功能,实现主流实现方案,参考QRCodeUtils
  5. admin项目集成权限安全框架为Shiro,框架已集成,可直接使用
  6. 项目已集成RabbitMQ,可直接参考TestRabbitSender使用
  7. 通用拦截器中已添加对外部请求参数的打印,留意项目日志。若需打印某函数方法的入参出参等信息,在方法上加注解@Log
  8. 推荐Mybatis-generator-gui工具:https://github.com/zouzg/mybatis-generator-gui
  9. 接口文档默认集成Swagger可视化文档工具,项目启动后访问地址http://xxx:8080/swagger-ui.html/
  10. 项目整合了JavaMelody监控平台,启动应用后访问http://xxx:8080/monitoring即可访问看到应用运行状况
  11. 项目集成的日志打印插件为log4j2,众所周知,log4j2在各项性能上已完全超越log4j、logback
  12. 项目使用ScriptEngineManager运行Js脚本,可应用在规则引擎、动态工作流等业务的具体场景中

Linux需装软件清单

  1. MySQL8.0+
  2. JDK11+
  3. Redis
  4. MongoDB(可选)
  5. RabbitMQ Server 3.6+

使用说明

  1. 推荐Redis可视化客户端:RedisStudio
  2. SQL导入脚本在db/import.sql
  3. 项目打包命令:mvn clean install -DskipTests
  4. 项目启动命令:nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=prod -jar api.jar > nohup.out 2>&1 &

数据库表结构、字段设计规范

  1. 所有字段不可为空,必须要有默认值。varchar类型默认空字符串,timestamp默认当前时间戳,int类型默认1或0;
  2. 所有表中主键名称默认均设置为id,bigint(20),无符号,自增长。如需业务主键,自行添加额外字段做主键;
  3. 所有表中关于时间的字段created_time和updated_time字段为必有字段,创建时间一经创建不得更新,之后每次表数据变更,更新updated_time字段;
  4. 所有表中添加valid字段(tinyint类型,0代表无效,1代表有效)标记逻辑删除
  5. 合适的存储引擎,一般InnoDB,合适的字符集,强制utf8mdb4,兼容emoji
  6. 添加索引、字段注释
  7. 字段类型保证够用情况下尽可能小、确保可读性、字段值避免Null

空文件

简介

基于Spring boot构建的后端服务框架 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/yangmain/spring_scaffolding.git
git@gitee.com:yangmain/spring_scaffolding.git
yangmain
spring_scaffolding
Spring脚手架
master

搜索帮助