RuoYi-plus:一款由SpringBoot2.x,springcloudG开发的SMP多商户权限管理系统+API接口服务微服务架构,可选性后台管理系统或后端接口服务。

一世执手 提交于 2020-03-11 10:01:13

通知!!!

RuoYi-plusv3.0版本介绍:

  1. 成功集成多商户管理模式,完美的与基础框架相融合,多商户模式下,不需要增加复杂的代码逻辑即可完成多商户管理模式。
  2. 核心模块API服务增加网关gateway基础版本。
  3. 升级了代码生成模块,更大限度的提高了开发效率。
  4. 优化了部分API代码质量,删除了大量冗余代码。
  5. 修复原框架部分bug

数据库脚本请加QQ群,在群文件下载。

【技术支持群】687672649ruoyi-plus【技术交流群】751872263ruoyi-plus


    项目介绍

    • 架构技术: 基于SpringBoot2.x, springcloud G版本eureka、hystrix、feign、config、gateway微服务架构体系的全新版本,集成redis、quartz、tk.mybatis、lombok、各种设计模式等。
    • 项目优势: 架构更清晰、技术更前沿、代码更整洁、页面更美观, 可用于OA系统、 CRM系统、 PDM系统等二次开发,微服务架构学习,非常适用于公司管理平台旧版本升级、新平台搭建快速整合、同时也是接私活利器。同时提供API接口服务(供APP、微端、h5等使用)。

    项目架构

    通用模块架构:

    • zebra-yritsz-smp-parent模块:所有项目父类,负责jar的依赖和版本管理。
    • zebra-yritsz-commons-dbean模块:通用db和bean。
    • zebra-yritsz-commons-redis模块:通用redis。

    核心服务模块架构:

    • zebra-yritsz-config-servser模块:cloud配置中心服务 (独立:不依赖Eureka注册中心)
    • zebra-yritsz-application-eureka模块:Eureka注册中心。

    SMP管理平台架构

    • zebra-yritsz-smp-smp模块:管理平台,主要为controller层和视图文件。
    • zebra-yritsz-smp-generator模块:代码生成器。
    • zebra-yritsz-smp-quartz模块:定时任务。
    • zebra-yritsz-smp-core模块:核心模块,包过权限处理、持久化操作、工具类、配置中心客户端、数据源等。
    • 依赖cloud配置中心服务模块(可选)

    API接口服务架构:

    • zebra-yritsz-api-provider模块:服务提供者对内开放包括消费者consumer。
    • zebra-yritsz-api-consumer模块:服务消费者,对外开放包括APP、微端、h5等。
    • 依赖cloud配置中心服务模块(可选)
    • 依赖Eureka注册中心模块(必选)

    后台框架介绍:

    序号 核心技术 框架 阐述
    1 核心框架 Spring Boot2.x,springcloud G版本 springBoot为核心框架,springcloud为辅核心框架(API接口服务,config配置中心)
    2 安全框架 Apache Shiro core模块
    3 模板引擎 Thymeleaf smp模块
    4 持久层框架 MyBatis 实现:dbean模块 配置:core模块
    5 定时任务 Quartz quartz模块
    6 数据库连接池 Druid 实现:dbean模块 配置:core模块
    7 代码生成 Velocity generator模块
    8 项目管理 Maven 缺省
    9 缓存技术 Redis,Shiro自带缓存 (实现:redis模块, 配置:core模块),core模块
    10 注册中心 Eureka 注册中心application-eureka模块
    11 负载均衡 Feign 服务消费者consumer模块
    12 熔断机制 Hystrix 服务提供者provider模块
    13 网关路由 gateway 网关路由gateway模块
    14 配置中心 config 配置中心config模块
    15 其他插件 tk.mybatis,lombok等 (dben模块,core模块),全局

    前端框架:

    序号 核心技术 框架 阐述
    1 核心框架 JQuery、Bootstrap 缺省
    2 table表格 bootstrap-table 缺省
    3 表格树插件 bootstrap-treetable 缺省
    4 表单导出 bootstrap-table-export、tableExport 缺省
    5 遮罩层弹出框 layui、layer 缺省
    6 ztree树插件 jquery.ztree 缺省
    7 下拉框插件 select2.min、bootstrap-select 缺省
    8 时间插件 bootstrap-datetimepicker 缺省
    9 富文本编辑 summernote 缺省
    10 文件上传 bootstrap-fileinput 缺省
    11 统计报表 echarts-all、jquery.peity、jquery.sparkline 缺省
    12 表单验证 jquery.validate 缺省

    特别注意: 本项目是在开源项目RuoYi4.0(若依) 的基础上进行升级调整,感谢诺依大神。

    下个版本:

    1. 增加API接口服务【验签】保证API接口服务的安全性。
    2. 增加smp管理平台sso实现。

    原版RuoYi升级调整介绍

    1. 取消项目聚合: 本人多接触快速搭建管理平台的需求,评估后感觉聚合项目不太适合,所以改使用普通父类子类集成,有新项目时直接继承统一父类,保障快速开发,版本统一。
    2. 模块调整: 整合system持久化模块,为通用的zebra-yritsz-commons-dbean可以供其他服务(如:微端服务、APP接口服务)使用。整合common通用模块,framework核心模块为zebra-yritsz-smp-core核心模块,对于中小项目来说,原项目模块太繁琐,各个模块分工不明确,整合为一个模块当有新项目需求事可以快速搭建。
    3. 项目调整: 增加Redis存储系统、java代码神器lombok、消息转换器HttpMessageConverter...
    4. 框架管理: 增加tk.mybatis插件,原项目虽然可以用代码生成器直接生成增删改查语句,但是繁琐业务下,需要在xml写sql映射过于繁琐,使用tk.mybatis插件可以直接使用封装快速方法,极高的保障了开发的效率。
    5. 配置管理: 增加cloud config配置中心,当项目生态系统不仅限于管理平台,繁琐的配置成为增加工作量和出现问题的关键,所以增加配置中心,统一管理配置文件。
    6. 增加模块: 增加redis通用模块(可选),config-servser配置中心模块(可选),API接口服务模块(独立)。
    7. API接口服务: 2.0版本不在局限于单一的后台管理框架,重点打造RuoYi-plus管理平台生态圈,增加API接口服务(供APP、微端、h5等使用),该服务以spring cloud为核心,使用Eureka为注册中心、Feign负载、Hystrix熔断器。 输入图片说明

    项目部署要求

    • JDK-v1.8
    • MySql-v5.7.x(建议)
    • Maven-v3.3.x(建议)
    • SVN服务器(可选)如果使用配置中心则需要此项,反之 需要调整代码不通过springCloud config获取配置信息 ,或者使用git。
    • GIT服务器(可选)如果使用配置中心则需要此项,反之 需要调整代码不通过springCloud config获取配置信息 ,或者使用svn。

    项目运行须知

    1. 项目运行有两种模式,详细见项目运行步骤。
    2. redis如果不需要,可以保留(不用搭建redis服务器也可以启动成功)。

    SMP项目运行步骤一: 使用配置中心

    1. 创建数据库,执行数据库脚本;导入项目,导入完成后需要确保是maven项目,如果不是需要转换成maven项目。
    2. 发布项目到maven仓库,依次为zebra-yritsz-smp-parent->zebra-yritsz-commons-dbean->zebra-yritsz-smp-core/generator/quartz 。
    3. 启动zebra-yritsz-smp-config模块,该模块为springCloud config-server端 ,需要svn服务器或git服务器把配置中心文件放到对应svn/git上,并且需要配置bootstrap.properties文件。输入图片说明
    4. 启动zebra-yritsz-smp-smp,如果使用springCloud config需要配置bootstrap.properties文件。输入图片说明

    SMP项目运行步骤二: 不使用配置中心

    1. 创建数据库,执行数据库脚本;导入项目,导入完成后需要确保是maven项目,如果不是需要转换成maven项目。
    2. 发布项目到maven仓库,依次为zebra-yritsz-smp-parent->zebra-yritsz-commons-dbean->zebra-yritsz-smp-core/generator/quartz。
    3. 把配置中心文件放入项目resources目录下,启动zebra-yritsz-smp-smp。 输入图片说明

    API项目运行步骤:

    1. 启动zebra-yritsz-smp-config配置中心模块。
    2. 启动zebra-yritsz-application-eureka注册中心模块。
    3. 启动zebra-yritsz-api-provider服务提供者模块。
    4. 启动zebra-yritsz-api-consumer服务消费者模块。 注:参考SMP项目运行步骤 输入图片说明

    RuoYi-plus版本介绍:

    RuoYi-plusv2.0版本: ,该版本不在局限于单一的后台管理框架,重点打造RuoYi-plus管理平台生态圈,增加API接口服务(供APP、微端、h5等使用),API接口服务概述:

    1. API接口服务与smp管理平台完全分离,只依赖通用dbean模块和统一父类。
    2. 服务提供者负责DB交互通用dbean模块。
    3. 服务消费者负对外开放包括APP、微端、h5等,不负责业务逻辑处理(后期增加【验签】保证API接口服务的安全性)。
    4. API接口服务使用Eureka为注册中心,消费者负载使用Feign并使用Hystrix熔断器。

    技术交流

    • 官方技术QQ交流号:1579927646 技术支持(不涉及复杂问题免费)
    • 官方QQ技术交流群:751872263ruoyi-plus 免费入群,数据库脚本和配置中心文件在群文件
    • 官方QQ技术支持群:687672649ruoyi-plus 免费入群,数据库脚本和配置中心文件在群文件

    商用须知

    本项目遵循MIT协议,无需授权,留言使用公司信息即可。

    演示地址

    源码地址

    易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
    该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!