学习开源项目NewBeeMall新蜂商城(1) - 初步了解与运行NewBeeMall

2023-10-30

0.前言

之前想尝试学习开源项目Halo个人博客系统,但是目前知识积累得太浅薄,halo项目相对我来说还太庞大,所以就暂时搁置了,打算先学习完NewBeeMall商城项目之后继续看Halo个人博客系统。
学习开源项目Halo(1) - 初步了解与运行Halo

NewBeeMall相对来说简单一些,适合当作springboot的一个综合实践。(大型课程设计?)

学习开源项目的目的:想通过学习与了解一个优秀的项目来对自己知识查漏补缺,并学习如何构建一个优质的项目,如果文章内容有所问题,欢迎在评论区批评指正。

1.NewBeeMall 新蜂商城简介

  • NewBeeMall 新蜂商城 GitHub地址 https://github.com/newbee-ltd/newbee-mall
  • 项目作者对NewBeeMall 新蜂商城的介绍:newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

2.NewBeeMall项目配置与运行

NewBeeMall还是很适合新手的,项目不需要配置什么中间件等等,只需配置MySQL和图片资源,即下图中的两资源文件:sql文件和图片资源。
newbeemall配置

2.1 配置MySQL数据库

找到项目中的sql文件:newbee-mall / src / main / resources / newbee_mall_schema.sql
我是使用的navicat工具,新建一个数据库newbemall后右键此数据库执行此sql文件即可,结果如下:
newbeemall
可看到有9张表,由上至下分别为:

  • 管理员用户表
  • 轮播图表
  • 商品分类表
  • 商品信息表
  • 首页配置表
  • 订单表
  • 订单子项表
  • 购物车表
  • 商城用户表
2.2 配置图片资源

查看config包下的NeeBeeMallWebMvcConfig类代码
其中有:

    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/upload/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
        registry.addResourceHandler("/goods-img/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
    }

查看FILE_UPLOAD_DIC常量配置,在common包下的Constants类
可看到

public class Constants {
    //public final static String FILE_UPLOAD_DIC = "/opt/image/upload/";//上传文件的默认url前缀,根据部署设置自行修改
    public final static String FILE_UPLOAD_DIC = "D:\\upload\\";//上传文件的默认url前缀,根据部署设置自行修改

......
    }

开源作者还贴心的留了注释在这。
因此,若只是在本机运行将upload.zip解压到D盘即可。当然也可自行更改,部署时也要注意修改。

2.3 运行NewBeeMAll

原项目的端口我修改成了8080:
商城系统运行效果如下:
newbeemall运行1
newbeemall运行2
后台管理系统运行效果如下:
newbeemall后台管理系统运行

3.NewBeeMall相关技术栈

3.1 项目原版技术栈

前端:

  • AdminLTE:基于Bootstrap 4和3的免费管理仪表板模板
  • Alipay-WeChat-HTML:支付宝和微信的二维码支付页面
  • sweetalert:一个web组件,JavaScript的“警报”的漂亮替代品
  • jqGrid:jQuery网格插件

后端:

  • Thymeleaf:前端模板引擎
  • SpringBoot2.x:web后端开发框架
  • MyBatis:持久层框架
  • MySQL:数据库:
  • kaptcha:可高度配置的实用验证码生成工具
3.2 自行拓展的小方面

在此基础上自己也加了之前学过的两个小部分:

  • 在线API文档生成:swagger
    在线API
    在线API
  • 混合加密:AES,DES,RSA,SHA,3DES,MD5(原本只有MD5)
    在这里插入图片描述

4.NewBeeMall开源项目泛读总结

发现商城用户只能设置一个收货地址,显然不是很现实,之后详细阅读代码后想自己添加上去。
…emmmm 泛读就想着改人家代码了,先好好学习下项目代码,之后会出详细阅读总结。
最后,感谢大佬的开源项目。他的GitHub首页还有其他开源项目,感兴趣可以自行查看。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习开源项目NewBeeMall新蜂商城(1) - 初步了解与运行NewBeeMall 的相关文章

  • java推荐使用枚举定义常量

    假如有一笔业务需要审核 审核状态分 未审核 审核中 审核通过 审核不通过 我们在程序里是否可以直接这么写 if state 1 1代表未操作 操作 else 将状态标识直接写在代码里面 硬编码 只图一时方便 却是后患无穷 如果有一天你需要修
  • springboot整合mybatis之一:mapper.xml文件位置

    server port 8080 spring datasource url jdbc oracle thin localhost 1521 orcl driver class name oracle jdbc driver OracleD
  • Node.js 的理解、优缺点、应用场景

    一 是什么 Node js 是一个开源与跨平台的 JavaScript 运行时环境 在浏览器外运行 V8 JavaScript 引擎 Google Chrome 的内核 利用事件驱动 非阻塞和异步输入输出模型等技术提高性能 可以理解为 No
  • 找了个UE4兼职

    这两周面试时 发现ue4岗位给的薪水不高 主要是没全职经验 其实是有三个月全职经验的 没法往上面写 免得说 你试用期咋没过 前天面试时 技术聊的很融洽 又到了谈薪资的时候了 面试官说 Ue4培训出来的都是一万 我说 那贵公司这个岗位其他人一
  • pytorch官方教程训练分类器代码理解

    pytorch官方教程训练分类器代码理解 新手的代码熟悉 有错误请大佬指出 通常 当您必须处理图像 文本 音频或视频数据时 您可以使用标准的python包将数据加载到numpy数组中 然后你可以将这个数组转换成一个torch Tensor
  • Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)

    1 简介 前置处理器是在发出 取样器请求 之前执行一些操作 如果将前置处理器附加到取样器元件 则它将在该取样器元件运行之前执行 前置处理器最常用于在取样器请求运行前修改其设置 或更新未从响应文本中提取的变量 前置处理器主要是用来处理请求前的
  • ChatGLM-6B部署、实战与微调

    文章目录 摘要 下载chatglm 6b 下载模型文件 推理 代码调用 网页版的Demo 网页版的Demo2 命令行 Demo 部署 API部署 低成本部署 模型量化 CPU 部署 Mac 部署 多卡部署 训练与微调 软件依赖 下载数据集
  • Python的人脸识别设计史上最全的教程,手把手教(附源代码)

    首先要下载人脸识别模块 win R后输入cmd在控制台下载 先是读取图片功能 导入OpenCV模块 import cv2 as cv 读取图片 参数 图片路径 注意 路径中不能有中文 否则图片加载失败 img cv imread pictu
  • mysql show 命令_MySQL基础:show命令

    Blog 博客园 个人 show命令 show命令可以提供关于数据库 表 列 或关于服务器的状态信息 总结 显示二进制文件以及文件大小 需要开启二进制日志记录功能 SHOW BINARY MASTER LOGS 显示二进制文件的执行过程 S
  • 目标检测:特征金字塔网络(Feature Pyramid Network)

    目标检测 特征金字塔网络 Feature Pyramid Network 概述 核心思想 概述 由于在目标检测任务中 对与大目标的检测 需要feature map每个点的感受野大一点 高层语义特征 对于小目标 需要感受也小一点 底层纹理特征
  • Android 反编译

    解压缩Apk 将需要破解的Apk的后缀修改为zip 然后解压缩 可以得到assets文件 res资源文件 AndroidManifest xml配置文件以及一个classes dex文件 如下图 其中classes dex文件在这里插入图片
  • 推荐算法:基于图的算法:基于路相似度

    图中两个节点的距离 通过计算 用于连接两个节点的路径的数目和这些路径的长度所构成的函数来获得
  • virtualbox 不小心卸载后。。。

    PHP laravel 的虚拟开发环境 vagrant Homestead 配置挺麻烦 但如果 不小心卸载了virtualbox 你会遇到另外 一个麻烦 尝试重新安装virtualbox 装好后 运行vagrant up 你以为会一切如初
  • XSS漏洞的分类

    XSS漏洞按照攻击利用手法的不同 有以下三种类型 类型A 本地利用漏洞 这种漏洞存在于页面中 客户端 脚本自身 其攻击过程如下所示 Alice给Bob发送一个恶意构造了Web的 URL Bob点击并查看了这个URL 恶意页面中的JavaSc
  • 调试最长的一帧(第七天)

    先看看总体进展 eventTraversal函数的任务 在每帧仿真过程中 取出已经发生的所有事件 摒弃哪些对场景不会有助益的 比如 在视口外的鼠标事件 依次交付给各个事件处理器 最后清空现有的事件队列 等待下一帧的到来 在View的几个成员

随机推荐

  • list中的sort()方法

    def sort self key None reverse False real signature unknown restored from doc L sort key None reverse False gt None stab
  • Redis 缓存穿透 + 缓存雪崩 + 缓存击穿的原因和解决方案

    目录 一 缓存穿透 解决方案 二 缓存雪崩 解决方案 三 缓存击穿 解决方案 在生产环境中 会因为很多的原因造成访问请求绕过了缓存 都需要访问数据库持久层 虽然对Redsi缓存服务器不会造成影响 但是数据库的负载就会增大 使缓存的作用降低
  • 第十届蓝桥杯C++B组题解

    国赛题确实不简单哇hhh 前6题没有太大难度 第7题DP分类讨论实在是太多了 完全可以当压轴来出了呜呜呜 第8题运气好的话还是能做出来的hhh 这种题往往都不难都是找规律 第9题线段树的运用 但是很暴力很暴力 也算是一个积累叭 第10题直接
  • 若依系统结合微信小程序实现sys-user表中的user用户登录

    后台一点都不用改 只需要在微信开发者工具里改前端 登录时账号为admin 密码为admin123 login接口和captchaImage接口都是若依封装好的 不用动 只适用于sys user表中的user用户登录 wxml里这么写
  • 2023中国第三方支付市场专题分析

    导读 本分析内容旨在对第三方支付行业进行深入分析 内容包括市场政策 技术 投融资等环境分析 产业发展现状分析 案例解读 市场趋势洞察等 对跨境电商 数字人民币支付等典型场景服务模式创新逐一具体论述 关注公众号 互联互通社区 回复 CYFX2
  • springboot配置json数据序列化工具类

    一 概述 public class FastJsonUtils private static final SerializeConfig config static config new SerializeConfig config put
  • .vcxproj : error : 文件 E:\work\ImageManageSys\images\boat.png 包含在 None 和 None 项组中。项目项不允许这样做,它只能属于一个项

    Qt系列文章目录 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 文章目录 Qt系列文章目录 前言 一 问题原因 二 解决方法 前言 使用visual stdi
  • android自定义弹出框样式实现

    前言 做项目时 感觉android自带的弹出框样式比较丑 很多应用都是自己做的弹出框 这里也试着自己做了一个 废话不说先上图片 实现机制 1 先自定义一个弹出框的样式 2 自己实现CustomDialog类 继承自Dialog 实现里面方法
  • Java多线程中join方法的理解

    thread Join把指定的线程加入到当前线程 可以将两个交替执行的线程合并为顺序执行的线程 比如在线程B中调用了线程A的Join 方法 直到线程A执行完毕后 才会继续执行线程B t join 使调用线程 t 在此之前执行完毕 t joi
  • 布尔盲注之sqlmap爆破

    布尔盲注之sqlmap爆破 好久没有更新了 语句也忘的差不多了 作为菜鸟的我也是终于弄懂了这道题 以及部分语句的意思 我将用尽可能详细且易理解的语言来表达 sqlmap爆破 首先你得下载sqlmap csdn中刚好有 注入语句 python
  • 图片像素、英寸、厘米之间的单位换算

    转自 http hi baidu com cjg501 blog item f040fc0898d5379f0b7b8244 html 今天朋友用photoshop处理图片时要把图片保存指定的大小 但她只对厘米要形像感 可是在软件里保存的图
  • Maven+Idea打jar包个人总结

    Maven Idea打jar包个人总结 文章目录 Maven Idea打jar包个人总结 1 前言 2 安装配置JDK 3 Maven安装和配置 3 1 下载安装maven 3 2 配置环境变量 3 3 修改maven配置文件并创建本地仓库
  • BigDecimal除法向上取整,保留 1 为小数(Java、MySQL各自写法)

    SQL写法 CEILING SUM hdd SEND OUT QTY hsl DEMAND QTY 1000 10 EXECUTE RATE Java写法 updateData getExecuteQty divide soLineQtyM
  • 阿里云实践 - HTML5断点播放m3u8视频(videojs)

    场景 HTML5页面需要通过
  • EMC问题之RE实验最优解

    EMC问题之RE实验最优解 RE实验中 最关键的可能也是最难的就是找到干扰源 进而确定是传导辐射还是空间辐射 选择对应的是一定要加屏蔽罩 哪怕环路面积很小 辐射能量还是很强 还是仅仅依靠滤波等就能解决问题 实验现象 在160MHz 80MH
  • shell中如何进行一段代码的注释

    在shell编程中 我们常常需要把一些语句注释掉 让它不执行 对单号或者少数几行shell脚本来说 在每行前面增加 符号就可以达到目的了 代码如下 cp a txt b txt mkdir p 1 2 4 2 4 6 echo ok 但如果
  • ARP欺骗和DNS劫持以及Wireshark分析

    一 实验目的 利用ettercap进行中间人攻击之ARP欺骗和DNS劫持 用Wireshark分析相关特征数据 提高对ettercap Wireshark的熟练度 同时也对中间人攻击有更加深入的认识 二 实验原理 常见的ARP欺骗方式有两种
  • 使用conda时出现Solving environment: failed with initial frozen solve. Retrying with flexible solve错误

    使用conda安装pytorch 出现了各种各样的错误 尝试了网上各种办法 最后我是这么解决的 首先添加镜像源 在终端运行以下代码 conda config add channels https mirrors tuna tsinghua
  • JDBC(数据库连接)

    JDBC 简介 什么是 JDBC JDBC 指 Java 数据库连接 是一种标准Java应用编程接口 JAVA API 用来连接 Java 编程语言和广泛的数据库 JDBC API 库包含下面提到的每个任务 都是与数据库相关的常用用法 制作
  • 学习开源项目NewBeeMall新蜂商城(1) - 初步了解与运行NewBeeMall

    文章目录 0 前言 1 NewBeeMall 新蜂商城简介 2 NewBeeMall项目配置与运行 2 1 配置MySQL数据库 2 2 配置图片资源 2 3 运行NewBeeMAll 3 NewBeeMall相关技术栈 3 1 项目原版技