当前位置:首页 > 技术分析 > 正文内容

基于SpringBoot Cloud构建的一个商城项目源码分享

基于springboot cloud构建的一个商城项目,包括前端,后端和h5应用,小程序,作为zscat应用实践的模板项目。基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,[ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5 项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,积分商城,分销商城并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等

1.项目技术

  • 前后端分离的企业级微服务架构
  • 基于Spring Boot 2.0.X、Spring Cloud Finchley和Spring Cloud Alibaba
  • 深度定制Spring Security真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案
  • 提供应用管理,方便第三方系统接入
  • 引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易
  • 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖
  • 非常适合学习和企业中使用
  • 2. 项目总体架构图

    需要获取源码的朋友转发这篇文章+关注我,私信我【源码】二字。

    3. 功能介绍

    • 统一认证功能支持oauth2的四种模式登录支持用户名、密码加图形验证码登录支持手机号加密码登录支持openId登录支持第三方系统单点登录
    • 分布式系统基础支撑服务注册发现、路由与负载均衡服务降级与熔断服务限流(url/方法级别)统一配置中心统一日志中心统一分布式缓存操作类、cacheManager配置扩展分布式锁分布式任务调度器支持CI/CD持续集成(包括前端和后端)分布式高性能Id生成器分布式事务
    • 系统监控功能服务调用链监控应用拓扑图慢服务检测服务Metric监控应用监控(应用健康、JVM、内存、线程)错误日志查询慢查询SQL监控应用吞吐量监控(qps、rt)服务降级、熔断监控服务限流监控分库分表、读写分离
    • 业务基础功能支撑高性能方法级幂等性支持RBAC权限管理,实现细粒度控制(方法、url级别)快速实现导入、导出功能数据库访问层自动实现crud操作代码生成器基于Hutool的各种便利开发工具网关聚合所有服务的Swagger接口文档统一跨域处理统一异常处理

    4. 模块说明

    mallcloud -- 父项目,公共依赖
    │  ├─mall-business -- 业务模块一级工程
    │  │  ├─user-center -- 用户中心[7000]
    │  │  ├─file-center -- 文件中心[5000]
    │  │  ├─member-center -- 会员中心[7001]
    │  │  ├─goods-center -- 商品中心[7002]
    │  │  ├─order-center -- 订单中心[7003]
    │  │  ├─marking-center -- 营销中心[7004]
    │  │─mall-commons -- 通用工具一级工程
    │  │  ├─mall-auth-client-spring-boot-starter -- 封装spring security client端的通用操作逻辑
    │  │  ├─mall-common-spring-boot-starter -- 封装通用操作逻辑
    │  │  ├─mall-db-spring-boot-starter -- 封装数据库通用操作逻辑
    │  │  ├─mall-log-spring-boot-starter -- 封装log通用操作逻辑
    │  │  ├─mall-redis-spring-boot-starter -- 封装Redis通用操作逻辑
    │  │  ├─mall-ribbon-spring-boot-starter -- 封装Ribbon和Feign的通用操作逻辑
    │  │  ├─mall-sentinel-spring-boot-starter -- 封装Sentinel的通用操作逻辑
    │  │  ├─mall-swagger2-spring-boot-starter -- 封装Swagger通用操作逻辑
    │  ├─mall-config -- 配置中心
    │  ├─mall-doc -- 项目文档
    │  ├─mall-gateway -- api网关一级工程
    │  │  ├─zuul-gateway -- netflix-zuul[8080]
    │  ├─mall-job -- 分布式任务调度一级工程
    │  │  ├─job-admin -- 任务管理器[8081]
    │  │  ├─job-core -- 任务调度核心代码
    │  │  ├─job-executor-samples -- 任务执行者executor样例[8082]
    │  ├─mall-monitor -- 监控一级工程
    │  │  ├─sc-admin -- 应用监控[6500]
    │  │  ├─log-center -- 日志中心[6200]
    │  ├─mall-uaa -- spring-security认证中心[8000]
    │  ├─mall-register -- 注册中心Nacos[8848]
    │  ├─mall-transaction -- 事务一级工程
    │  │  ├─txlcn-tm -- tx-lcn事务管理器[7970]
    │  ├─mall-demo -- demo一级工程
    │  │  ├─txlcn-demo -- txlcn的demo
    │  │  ├─sharding-jdbc-demo -- sharding-jdbc的demo

    后台功能列表

    小程序功能列表

    uniapp

    uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。

    5. 截图(点击可大图预览)

    需要获取源码的朋友转发这篇文章+关注我,私信我【源码】二字。

    扫描二维码推送至手机访问。

    版权声明:本文由ruisui88发布,如需转载请注明出处。

    本文链接:http://www.ruisui88.com/post/3706.html

    分享给朋友:

    “基于SpringBoot Cloud构建的一个商城项目源码分享” 的相关文章

    「 VUE3 + TS + Vite 」父子组件间如何通信?

    组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

    Git 分支管理策略汇总

    最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的流程。所以查了一些资料,总结出下面这篇文章,一共包含四种常见的分支管理策略,分享给大家。Git flow在这种模式下,主要维护了两类分支...

    身体越柔软越好?刻苦拉伸可能反而不健康 | 果断练

    坐下伸直膝盖,双手用力向前伸,再用力……比昨天前进了一厘米,又进步了! 这么努力地拉伸,每个人都有自己的目标,也许是身体健康、线条柔美、放松肌肉、体测满分,也可能为了随时劈个叉,享受一片惊呼。 不过,身体柔软,可以享受到灵活的福利,也可能付出不稳定的代价,并不是越刻苦拉伸越好。太硬或者太软,都不安全...

    BuildKit 镜像构建工具

    #暑期创作大赛#快速开始 对于 Kubernetes 部署,请参阅examples/kubernetes。BuildKit 由buildkitd守护进程和buildctl客户端组成。虽然buildctl客户端可用于 Linux、macOS 和 Windows,但buildkitd守护程序目前仅适用于...

    Vue2的16种传参通信方式

    前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父子双向)ref$children与$parent$attrs与$listeners (爷孙双向)pr...

    三、Uni-app + vue3 页面如何跳转及传参?

    Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...