Github标星25K+Star,SpringBoot实战电商项目mall出SpringCloud版本啦!
source link: https://juejin.im/post/5de3c1a35188256e855b6e54
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Github标星25K+Star,SpringBoot实战电商项目mall出SpringCloud版本啦!
去年12月的时候,mall项目正式发布,作为Github上面最火的SpringBoot实战电商项目,累计获得了25000+Star。今年还是12月,mall项目微服务版本
mall-swarm
正式发布,文档齐全,附带全套SpringCloud教程。
mall-swarm
是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm
在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。
系统架构图
mall
├── mall-common -- 工具类及通用代码模块
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块
├── mall-security -- 封装SpringSecurity+JWT的安全认证的模块
├── mall-registry -- 基于Eureka的微服务注册中心
├── mall-config -- 基于Spring Cloud Config的微服务配置中心
├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务
├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心
├── mall-admin -- 后台管理系统服务
├── mall-search -- 基于Elasticsearch的商品搜索系统服务
├── mall-portal -- 移动端商城系统服务
└── mall-demo -- 微服务远程调用测试服务
复制代码
技术 | 说明 |
---|---|
Spring Cloud | 微服务框架 |
Spring Boot | 容器+MVC框架 |
Spring Security | 认证和授权框架 |
MyBatis | ORM框架 |
MyBatisGenerator | 数据层代码生成 |
PageHelper | MyBatis物理分页插件 |
Swagger-UI | 文档生产工具 |
Elasticsearch | 搜索引擎 |
RabbitMq | 消息队列 |
Redis | 分布式缓存 |
MongoDb | NoSql数据库 |
Docker | 应用容器引擎 |
Druid | 数据库连接池 |
OSS | 对象存储 |
JWT | JWT登录支持 |
LogStash | 日志收集 |
Lombok | 简化对象封装工具 |
Seata | 全局事务管理框架 |
技术 | 说明 |
---|---|
Vue | 前端框架 |
Vue-router | 路由框架 |
Vuex | 全局状态管理框架 |
Element | 前端UI框架 |
Axios | 前端HTTP框架 |
v-charts | 基于Echarts的图表框架 |
开发环境搭建
mall-swarm
中使用到的环境和mall
项目中大致相同,具体可以查看mall在Windows环境下的部署。
简易环境搭建流程:
- 安装IDEA并导入项目源码;
- 安装MySql,创建一个
mall
数据库,并导入/document/sql/mall.sql
文件; - 安装Redis、Elasticsearch、MongoDB、RabbitMQ等环境。
mall-swarm
项目启动有先后顺序,大家要按照以下顺序启动。
启动注册中心mall-registry
- 直接运行com.macro.mall.MallRegistryApplication的main函数即可;
- 运行完成后可以通过注册中心控制台查看:http://localhost:8001
启动配置中心mall-config
- 直接运行com.macro.mall.MallConfigApplication的main函数即可;
- 访问以下接口获取mall-admin在dev环境下的配置信息:http://localhost:8301/master/admin-dev.yml
启动监控中心mall-monitor
- 直接运行com.macro.mall.MallMonitorApplication的main函数即可;
- 运行完成后可以通过监控中心控制台查看:http://localhost:8101
- 输入账号密码
macro:123456
可以登录查看。
启动网关服务mall-gateway
- 直接运行com.macro.mall.MallGatewayApplication的main函数即可;
- 访问以下接口获取动态路由规则:http://localhost:8201/actuator/gateway/routes
启动后台管理服务mall-admin
- 直接运行com.macro.mall.MallAdminApplication的main函数即可;
- 通过
mall-gateway
网关服务访问接口文档:http://localhost:8201/mall-admin/swagger-ui.html
- 登录接口地址:http://localhost:8201/mall-admin/admin/login
- 访问登录接口获取到token后放入认证的头信息即可正常访问其他需要登录的接口:
启动前台服务mall-portal
- 直接运行com.macro.mall.portal.MallPortalApplication的main函数即可;
- 通过
mall-gateway
网关服务访问接口文档:http://localhost:8201/mall-portal/swagger-ui.html
- 登录接口地址:http://localhost:8201/mall-portal/sso/login
- 调用需要登录的接口方式同
mall-admin
。
启动搜索服务mall-search
- 直接运行com.macro.mall.search.MallSearchApplication的main函数即可;
- 通过
mall-gateway
网关服务访问接口文档:http://localhost:8201/mall-search/swagger-ui.html
启动测试服务mall-demo
- 直接运行com.macro.mall.MallAdminApplication的main函数即可;
- 通过
mall-gateway
网关服务访问接口文档:http://localhost:8201/mall-demo/swagger-ui.html
- 可以通过调用FeignAdminController、FeignPortalController、FeignSearchController来测试使用Feign的远程调用功能。
- 注册中心服务信息:
- 监控中心服务概览信息:
- 监控中心单应用详情信息:
扩展解决方案
开源不易,觉得本项目有帮助的朋友可以
点个Star
支持下!
mall项目全套学习教程连载中,关注公众号第一时间获取。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK