# breeze **Repository Path**: wjs_abc/breezeb ## Basic Information - **Project Name**: breeze - **Description**: 基于spring boot 2.x搭建后台快速开发框架 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2023-01-30 - **Last Updated**: 2023-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README ### 基于Spring Boot 2.0x搭建快速开发框架 本项目是一个基于 Spring Boot进行搭建的脚手架,包含权限,代码生成,定时任务,阿里云,微信小程序等一系列服务端组件。 #### 运行环境 jdk1.8及以上,redis,mysql5及以上,minio #### 现已集成中间件 canal 实现缓存与数据库的强一致性 Redisson 操作redis客户端 minio 文件服务器 quartz 定时任务组件 retry 异常重试组件 #### 准备集成中间件 ElasticSearch,RabbitMQ #### 项目运行步骤 安装好上述环境,修改yml参数,导入sql文件,运行项目 ![sql文件目录](http://47.122.16.118:8080/4.png) #### 现有功能简介 权限认证,代码生成,短信,文件管理,定时任务,日志收集,小程序组件,第三方授权组件,微信支付等 #### 接口文档及接口测试 项目运行成功之后使用浏览器访问 http://127.0.0.1:8080/doc.html 就是在线的接口文档,也可以进行接口测试 ##### 接口文档 ![接口文档展示](http://47.122.16.118:8080/1.png) ##### 接口文档测试 ![接口说明](http://47.122.16.118:8080/11.png) ![设置请求头](http://47.122.16.118:8080/22.png) ![请求参数](http://47.122.16.118:8080/33.png) ##### 接口文档分组 ![接口文档分组](http://47.122.16.118:8080/2.png) ##### 自定义设置接口文档分组 在当前目录下新增一个自定注解 ![新增自定义注解](http://47.122.16.118:8080/44.png) 在SwaggerConfig下新增一个方法快使用@Bean注入,参照现有的方法体,使用新增的注解填写分组名称 ![新增注解分组](http://47.122.16.118:8080/55.png) #### 用户权限认证 使用shiro+jwt进行登录权限认证,token有效期为20分钟,每次请求接口之后,token会进行自动续签 ##### 项目启动预加载放行接口至redis中 ![加载放行接口](http://47.122.16.118:8080/66.png) ##### 使用@Release注解进行接口放行 在Controller下对需要进行放行的接口添加@Release注解,则当前接口不会执行权限认证 ![接口放行规则](http://47.122.16.118:8080/77.png) #### 服务端java代码生成 浏览器执行接口http://127.0.0.1:8080/api/generator/download/表明/模块名称 获取服务端的zip压缩代码,解压缩之后,直接放到trunk下 mybatis.xml放到resources.mapper下 ##### 获取java生成代码 以部门为列 ![执行获取zip包接口](http://47.122.16.118:8080/88.png) ![获得zip代码包](http://47.122.16.118:8080/102.png) 解压缩代码包 ![获得java代码包](http://47.122.16.118:8080/100.png) ![获得mybatis.xml](http://47.122.16.118:8080/101.png) 拖进项目工程中 ![导入java](http://47.122.16.118:8080/103.png) ![导入mybatis.xml](http://47.122.16.118:8080/104.png) #### 定时任务Quartz 上述接口文档找到系统基础信息接口文档分组下的定时任务调度相关接口文档,通过接口的方式编辑所需要的定时任务 新增定时任务,参数注明请看接口文档 ![新增定时任务执行](http://47.122.16.118:8080/3.png) #### 系统日志收集 在控制层使用自定义的@BreezeLog注解,填写相应操作记录,标题,模块名称,日志类别,操作类型将会记录到相应的数据库中 ##### 使用方式 在Controller中的接口上使用@BreezeLog标注,使用后置事件,在接口执行完成后捕获日志 ![在接口上标注](http://47.122.16.118:8080/105.png) logType 日志类别 ![日志类别](http://47.122.16.118:8080/106.png) opType 操作类型 ![操作类型](http://47.122.16.118:8080/107.png) ##### 业务操作日志数据库记录 记录了用户操作的接口,执行时间,请求参数,是否执行成功,ip地址等 ![业务操作日志](http://47.122.16.118:8080/108.png) ![业务操作日志](http://47.122.16.118:8080/109.png) ##### 登录操作日志 记录了执行登录的用户信息,ip地址,执行时间,是否成功,请求结果 ![登录日志](http://47.122.16.118:8080/110.png)