【xbin-store】基于springboot的分布式B2C电商开源项目

致敬原作者

CSDN下载地址

核心技术(后台)

  • 使用Spring Boot 构建整个项目 去除 XML 配置
  • Maven构建项目
  • Jenkins作为持续集成
  • 采用Dubbox作为RPC框架
  • kryo序列化
  • 使用 Apollo 配置中心(目前这个有问题,导致项目不能启动,我已经全部注释)
  • 使用Spring+Spring MVC+MyBatisSSM框架
  • 数据库使用MySQLRedis
  • 页面引擎采用 Beetl
  • 网页采用freemarker生成静态化页面
  • 存储采用FastDFS存储图片等文件
  • 采用Solr实现搜索服务
  • Swagger2 生成 RESTful Apis文档
  • 负载均衡使用Nginxkeepalived实现高可用
  • 采用Spring Scheduled做任务调度
  • 消息中间件采用RabbitMQ
  • 在分布式事务上则采用了TCC解决订单支付方面时效性要求性高的分布式事务,可靠的消息服务则来解决如会计记录等时效性要求低的分布式事务.

核心技术(前台)

  • 采用基于AdminLTEroncoo-adminLTE(主要增加了Ajax的布局模式)
  • AdminLTE集成太多Js这里就不一一列举了

项目结构图

  • 列表内容

目前的开发进度

  • 列表内容

先看效果图

  • 这里写图片描述
  • 这里写图片描述
  • 这里写图片描述

运行环境

  • jdk1.8+tomcat+mysql+maven+idea

安装过程(一定先看作者的安装视频,视频地址链接:https://pan.baidu.com/s/1qZTPwlu 密码:irn0)

  • 源码目录结构,我使用的idea直接导入,导入正确的结构,会出现各种jar包问题,我直接把本地的仓库全部上传了,maven本地仓库下载链接:https://pan.baidu.com/s/1o9Tn3HC 密码:iu2a 直接覆盖本地的.m2下的文件即可
  • 注释掉里面所有关于私服的配置,阿里云镜像的保留,只注释私服
    这里写图片描述
  • 使用 Apollo 配置中心,关于Apollo自行百度,如果使用这个配置会一直报一个关于com/google/guava,不用管他,把所有的@EnableApolloConfig全部注释掉
    这里写图片描述
  • 此时项目编译应该不会出现红线错误,如果有还是存在,建议更新下maven索引,会有点长,等他更新完,重启idea
    这里写图片描述
  • 如果出现spring-boot-starter-druid,doubbox,redis找不到的情况,建议直接使用idea导入源码,install到本地仓库
    这里写图片描述
  • 关于虚拟机的搭建,为了方便测试,我在虚拟机上的Windows上搭建了zookeeper+dobbuo+redis+jdk1.8+tomcat8的环境,使用本地的mysql,fastdfs不影响程序运行没有搭建,直接使用VMware Fusion 导入即可使用,镜像下载地址
  • 启动zookeeper,在启动tomcat,redis,直接输入,启动顺序一定是先zookeeper在tomcat,http://127.0.0.1:8080/dubbo-admin-2.5.5/会要一个填写账号密码的弹窗,默认账号密码是root/root,我虚拟机的运行情况
    这里写图片描述
  • 修改项目中的所有的yml文件,有两个要注意的地方,一是zookeeper的注册地址,而是doubbo的地址,zookeeper写虚拟机的地址,端口不用变,doubbo直接注释掉或者填写本机的IP,如果出现IP问题,百度VMware固定IP的设置
    这里写图片描述
  • 关于druid密码加密的问题,我即是加密一样出现一个密码未加密的错误,建议是直接改为false,然后填写未加密的密码
    这里写图片描述
  • 接下里开始编译项目,使用install -DskipTests
    这里写图片描述
  • 正确的编译截图,如果还有问题,一般都是jar的问题
    这里写图片描述

项目运行

  • 启动XbinStoreServiceRedisApplication
  • 启动XbinStoreServiceNotifyApplication
  • 启动XbinStoreServiceSSOApplication
  • 启动XbinStoreWebSSOApplication
  • 整个项目所有的static文件目录不能出现任何错误,js.css这些一样不行,全部启动成功,输入localhost:8104/login就可以看到登陆页面
  • 关于后台登陆密码的问题,作者使用DigestUtils.md5DigestAsHex去加密密码,我没有使用fastdfs所以直接生成的密码
    这里写图片描述

本项目最终实现的目标 点我查看最后完成效果
另外需要学习资料的加我V,本人做Java,一起学习交流的朋友可以加我V,相互学习
这里写图片描述

发布了109 篇原创文章 · 获赞 31 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/yang_guang3/article/details/102589276