此次 3.0 更新点:
1.加入文件服务(quick-storage)功能支持OSS、FTP存储(该服务支持以SDK的方式引入)
2.修复sentinel因path路径问题导致流控失效问题
3.修复word模板生成PDF文件工具类时首次生成时,图片生成没有成功写入FTP的问题,原因为临时文件路径问题。
4.修改部分类的包路径
5.auth服务下的各个表结构新增了 serve_name varchar(60) DEFAULT NULL COMMENT ‘所属服务名称’,通过该字段 auth服务可以注入多个项目得用户信息记录,需要在 application-auth.yml 中配置 serve_name和access_key;同时项目启动时会效验sys_serve表中是否存在该服务名称。

介绍

SpringBoot多模块架构,争对企业级开发设计,已集成认证功能、文档功能,开箱即用,并且不同子模块可以配置不同得数据源连接不同数据库,只需要在application-db中添加新的数据库即可(同时登录查看druid监控)。
技术栈: springboot + redis + shiro + swagger
git地址: [https://gitee.com/liujinxin_ark/quick-template/tree/relase-3.0] 后续版本不在使用该仓库
仓库迁移:https://gitee.com/schema-template/quick-template.git (由于码云近期维护,暂无法访问)


软件架构

SpringBoot多模块 + shiro实现权限认证 + redis实现单点登录控制(可控制账户同时在线人数)+ Swagger文档

2.0时新增了 quick-log-serve ,此次3.0增加了 quick-storage 文件存储服务,可以以SDK包的方式引入(注意3.1版本上才有quick-job模块功能,如需要请一致3.1版本下载)。


quick-auth-serve 工程

quick-auth-serve 为认证服务,包含系统认证、鉴权,以及系统得用户、角色、权限管理。

shiro相关信息配置可通过quick-config模块下得application-shiro.yml配置,如:令牌前缀、同一个帐号最大会话数、认证授权信息缓存等配置。

该对其他子模块提供了 ShiroUtil 类,通过该类获取当前登录用户信息。

注意:
如果需要关闭项目的认证鉴权功能,在 quick-config 工程下的 application-shiro.yml 关闭认证鉴权功能:


quick-log-serve 工程

quick-log-serve 为日志服务,包含系统日志访问接口。

该对其他子模块提供了 LogbackController 接口,通过该接口访问系统 html 和 txt 的Logback日志文件。
如:http://localhost:8082/log-server-api/logback/html/2022-03-24?accessKey=F9F09728BBC81DA9&level=info 可访问html日志信息记录

接口: /log-server-api/logback/{type}/{dateTime}?accessKey=F9F09728BBC81DA9&level=info
type参数:日志类型可选值html、txt
dataTime参数: 某一天的日志信息
accessKey参数:令牌(该接口不会参与到 quick-auth-serve 服务的认证鉴权,所以单独开发了这个接口)
level参数: 如果type参数为txt的话,该值生效。即访问的日志文件级别。

注意:
如果不要对外开发该接口,可在 application-log.yml 中禁用该接口。
加入了日志到数据库表中功能,记录请求和响应的信息,log服务只会记录需要鉴权的接口到表中,可在application-log.yml 中该功能。


quick-common 工程

quick-auth-serve 为常用的工具服务,包含提供redisClient、File操作、Word转PDF等工具类。


quick-config 工程

quick-condig 系统统一配置服务。

(1)每个子模块都有自己数据源配置,实现各个子模块连接自己的数据源,参考com.quick.config.datasource 数据源配置类 和 application-db.yml 配置文件,可访问 IP:端口/druid 访问数据源监控

(2)各个server模块,需要在 quick-config 工程中下的 application-system.yml 配置 request 前缀:

# 设置子模块请求前缀
request:prefix:auth_server: /auth-server-apilog_server: /log-server-apibase_server: /base-server-api

(3)系统配置了 sentinel 实现接口限流配置,项目启动后会自动注册到 sentinel 服务中,(自动注册配置类 com.quick.config.sentinel.SentinelConfig),即系统扫描所有接口,注册到 sentinel 服务(sentinel 程序在 control 目录下)。

注意:
如果需要关闭接口限流功能,可在 application-sentinel.yml 中关闭该功能。

(4)swagger配置,各个对外暴露的接口工程,都实现了swagger分组功能,配置类 com.quick.config.swagger.SwaggerConfig,项目启动后访问 IP:端口/doc.html


quick-base-serve 工程

该工程为一个案例工程,如项目中需要开发一个订单模块,可按照该模块创建。

注意:
不同的子模块需要在config-server工程中配置各自的数据源;
不同的子模块提供controller接口需要在config-server工程中配置各自的swagger配置分组
不同的子模块可自行配置 @RequestMapping 前缀,在quick-config工程中的 application-system.yml配置。


quick-web-serve 工程

该工程为启动工程,通过QuickWebApplication启动器启动项目。


control 目录

项目涉及到的其他服务,如:sentinel-dashboard-1.8.3.jar


企业级springboot项目架构模板V3.0,开箱即用相关推荐

  1. Springboot 项目金蝶中间件AAS-9.0启动报错 javax.persistence.Table.indexes()[Ljavax/persistence/Index 问题解决

    Springboot 项目金蝶中间件AAS-9.0启动报错 java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/ ...

  2. Springboot项目架构设计

    导航 前言 流水线 架构的艺术 项目架构 理解阿里应用分层架构 superblog项目架构 结语 参考 本节是<Spring Boot 实战纪实>的第7篇,感谢您的阅读,预计阅读时长3mi ...

  3. (原创)基于springboot,vue宠物商城定制版v3.0

    (全新)基于springboot,vue宠物商城定制版v3.0 本人原创作品,用户前台.系统管理员后台项目完整,无任何bug. 每行代码都是本人自己写,我在代码上面都写有详细注释 开发工具:IDEA ...

  4. (原创)springboot,vue网上购物商城定制版v3.0

    (全新)基于springboot,vue网上商城定制版v3.0 本人原创作品,用户前台.系统管理员后台项目完整,无任何bug. 每行代码都是本人自己写,我在代码上面都写有详细注释,不懂任何问题都可以咨 ...

  5. DataPipeline实时数据融合平台V3.0里程碑版发布!澎湃新动能

    5月27日,DataPipeline新品发布会在上海成功举行.大会以"万「向」更新"为主题,重磅推出DataPipeline企业级实时数据融合平台V3.0里程碑版本.本次活动汇聚了 ...

  6. excel进度条与百分比不符_Excel项目管理模板V2.0

    Excel表哥公众号推送的第一篇文章 如何用Excel制作一个高逼格的项目管理模板 累积获得了超多的下载量. 下面是和读者朋友的一些交流互动: 在使用过程中大家陆续也反馈了一些问题和建议.因此我们推出 ...

  7. springboot项目脚手架

    如果本文对您有所帮助,动动小手,点赞不迷路~ 每次新建一个项目时,大量工作需要重复,所以做了一个基于springboot的脚手架项目. springboot项目脚手架 JWT token swagge ...

  8. README文档模板 含下载地址0积分 项目文档模板 springboot文档示例 readme参考文档 目录跳转 项目架构 使用说明 目录结构 等等 (含附件下载)

    下载地址0积分 项目名称 在线签约(signup) (v1.1.0) 目录 项目简介 功能简述 项目架构 目录结构 使用效果 安装说明 使用说明 开发人员 版权信息 更新日志 项目简介 *-signu ...

  9. 微信支付开发,基于SpringBoot+Vue架构的Java在线支付项目

    目录 前言 1. 支付安全 1.1 对称加密和非对称加密 1.2 身份认证 1.3 摘要算法 1.4 数字签名和数字证书 2. 项目初期 2.1 构建测试 2.2 引入Swagger 2.3 引入lo ...

  10. 【微服务架构】基础的微服务架构模板、fianceCampus项目

    OfferCampus前期构建简单介绍: 搭建完整的模板Spring Cloud项目 内容管理 SpringCloud 项目 脚手架项目 ---- financeCapmus 项目结构 创建父项目(j ...

最新文章

  1. 你那么追捧的springboot,到底替你做了什么?
  2. unipapp 解决无法编译sass_Sass教程一:Sass概况
  3. boost::core::bit_width的测试程序
  4. c#中out、ref和params的用法与区别
  5. layui-弹出层中如何关闭窗口
  6. baidu 地图 鼠标移上显示标签 鼠标离开隐藏标签
  7. 【HDOJ】2266 How Many Equations Can You Find
  8. Matlab实现Hough变换检測图像中的直线
  9. PVID和VID详解
  10. cf 1443C The Delivery Dilemma
  11. webm转mp4 python实现
  12. [经验教程]2022年淘宝/天猫/京东/拼多多等电商购物618年中大促活动是什么时候开始领取超级红包及优惠券入口?
  13. 手机酷派4G5316 5313s 黑砖 求转成功 9008端口 9006端口 少走弯路选对镜像...
  14. 利用Canvas绘制雷达图
  15. 中本聪思想精髓难以领悟?Web3实际上还在“幻想”之中?
  16. python库——argparse
  17. NVIDIA Thrust教程
  18. ESP32 SPI驱动1.44寸TFT彩屏(5)
  19. 面试流程:小天才步步高
  20. OkHttpUtils文件下载和文件打开

热门文章

  1. 英语中很有趣的10个句子
  2. android知识(三)
  3. unity3d学习笔记-代码(6.运算符)
  4. 不同获取方式下TensorFlow(Keras)-CPU性能差异
  5. DIOR数据集转化为COCO格式
  6. 使用搜索引擎的一些技巧
  7. 怎样拥有一个网站?从“域名注册”到“网站成功运行”全程概况总结!
  8. 万事达卡为处理付款的区块链数据库申请专利
  9. 照片后期处理软件DxO FilmPack 6 mac中文说明
  10. 勤劳的搬运工--SpringBoot干货系列I--入门