mall整合MongoDB实现文档操作
本文主要讲解 mall 整合 Mongodb 的过程,以实现商品浏览记录在 Mongodb 中的添加、删除、查询为例。
#👍 相关视频教程mall整合MongoDB实现文档操作open in new window
#项目使用框架介绍#Mongodb
Mongodb是为快速开发互联网Web应用而构建的数据库系统,其数据模型和持久化策略就是为了构建高读/写吞吐量和高自动灾备伸缩性的系统。
#Mongodb的安装和使用
下载Mongodb安装包,下载地址:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.21-signed.msiopen in new window
选择安装路径进行安装
在安装路径下创建data\db和data\log两个文件夹
在安装路径下创建mongod.cfg配置文件
12345systemLog: destination: file path: D:\developer\env\MongoDB\data\log\mongod. ...
mall整合OSS实现文件上传
本文主要讲解 mall 整合 OSS 实现文件上传的过程,采用的是服务端签名后前端直传的方式。
#👍 相关视频教程mall整合MinIO实现文件上传open in new window
#MinIOmall项目能同时支持OSS和MinIO两种对象存储,如果想使用MinIO实现文件存储,可以参考如下文章。
MinIO使用教程
前后端分离项目使用MinIO实现文件存储
#OSS
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。
#OSS中的相关概念
Endpoint:访问域名,通过该域名可以访问OSS服务的API,进行文件上传、下载等操作。
Bucket:存储空间,是存储对象的容器,所有存储对象都必须隶属于某个存储空间。
Object:对象,对象是 OSS 存储数据的基本单元,也被称为 OSS 的文件。
AccessKey:访问密钥,指的是访问身份验证中用到的 AccessK ...
mall整合RabbitMQ实现延迟消息
本文主要讲解 mall 整合 RabbitMQ 实现延迟消息的过程,以发送延迟消息取消超时订单为例。
#👍 相关视频教程mall整合RabbitMQ实现延迟消息open in new window
#项目使用框架介绍#RabbitMQ
RabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。
#RabbitMQ的安装和使用
安装Erlang,下载地址:http://erlang.org/download/otp_win64_21.3.exeopen in new window
安装RabbitMQ,下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.14/rabbitmq-server-3.7.14.exeopen in new window
安装完成后,进入RabbitMQ安装目录下的sbin目录
在地址栏输入cmd并回车启动命令行,然后输入以下命令启动管理功能:
1rabb ...
mall整合Redis实现缓存功能
本文主要讲解 mall 整合 Redis 的过程,以短信验证码的存储验证为例。
#👍 相关视频教程mall整合Redis实现缓存功能open in new window
#Redis的安装和启动
Redis是用C语言开发的一个高性能键值对数据库,可用于数据缓存,主要用于处理大量数据的高访问负载。
下载Redis,下载地址:https://github.com/MicrosoftArchive/redis/releases
下载完后解压到指定目录
在当前地址栏输入cmd后,执行redis的启动命令:redis-server.exe redis.windows.conf
#整合Redis#添加项目依赖
在pom.xml中新增Redis相关依赖
12345<!--redis依赖配置--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifac ...
mall整合SpringBoot+MyBatis搭建基本骨架
本文主要讲解 mall 整合 SpringBoot+MyBatis 搭建基本骨架,以商品品牌为例实现基本的 CRUD 操作及通过 PageHelper 实现分页查询。
#👍 相关视频教程mall整合SpringBoot+MyBatis搭建基本框架open in new window
#mysql数据库环境搭建
下载并安装mysql5.7版本,下载地址:https://dev.mysql.com/downloads/installer/
设置数据库帐号密码:root root
下载并安装客户端连接工具Navicat,下载地址:http://www.formysql.com/xiazai.html
创建数据库mall
导入mall的数据库脚本,如果你使用的是mall-learnging项目中的代码的话,使用该脚本:https://github.com/macrozheng/mall-learning/blob/master/document/sql/mall.sql
如果你使用的是mall项目的话,使用该脚本:https://github.com/macrozheng/mall/blob ...
mall整合SpringSecurity和JWT实现认证和授权(二)
接上一篇,controller 和 service 层的代码实现及登录授权流程演示。
#👍 相关视频教程mall整合Spring Security和JWT实现认证和授权open in new window
#登录注册功能实现#添加UmsAdminController类
实现了后台用户登录、注册及获取权限的接口
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768package com.macro.mall.tiny.controller;import com.macro.mall.tiny.common.api.CommonResult;import com.macro.mall.tiny.dto.UmsAdminLoginParam;import com.macro.mall.tiny.mbg.model.UmsAdmin;import com.macro.mall.tiny. ...
mall整合SpringSecurity和JWT实现认证和授权(一)
本文主要讲解 mall 通过整合 SpringSecurity 和 JWT 实现后台用户的登录和授权功能,同时改造 Swagger-UI 的配置使其可以自动记住登录令牌进行发送。
#👍 相关视频教程mall整合Spring Security和JWT实现认证和授权open in new window
#项目使用框架介绍#SpringSecurity
SpringSecurity是一个强大的可高度定制的认证和授权框架,对于Spring应用来说它是一套Web安全标准。SpringSecurity注重于为Java应用提供认证和授权功能,像所有的Spring项目一样,它对自定义需求具有强大的扩展性。
#JWT
JWT是JSON WEB TOKEN的缩写,它是基于 RFC 7519 标准定义的一种可以安全传输的的JSON对象,由于使用了数字签名,所以是可信任和安全的。
#JWT的组成
JWT token的格式:header.payload.signature
header中用于存放签名的生成算法
1{"alg": "HS512" ...
mall整合Swagger-UI实现在线API文档
本文主要讲解 mall 是如何通过整合 Swagger-UI 来实现一份相当完善的在线 API 文档的。
#👍 相关视频教程mall整合Swagger实现在线API文档open in new window
#项目使用框架介绍#Swagger-UI
Swagger-UI是HTML, Javascript, CSS的一个集合,可以动态地根据注解生成在线API文档。
#常用注解
@Api:用于修饰Controller类,生成Controller相关文档信息
@ApiOperation:用于修饰Controller类中的方法,生成接口方法相关文档信息
@ApiParam:用于修饰接口中的参数,生成接口参数相关文档信息
@ApiModelProperty:用于修饰实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息
#整合Swagger-UI#添加项目依赖
在pom.xml中新增Swagger-UI相关依赖
1234567891011<!--Swagger-UI API文档生产工具--><dependency> <groupId>io. ...
mall整合SpringTask实现定时任务
本文主要讲解 mall 整合 SpringTask 的过程,以批量修改超时订单为例。
#项目使用框架介绍#SpringTask
SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用。
#Cron表达式
Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可以用于指定任务的执行时间。
#Cron的语法格式Seconds Minutes Hours DayofMonth Month DayofWeek
#Cron格式中每个时间元素的说明
时间元素
可出现的字符
有效数值范围
Seconds
, - * /
0-59
Minutes
, - * /
0-59
Hours
, - * /
0-23
DayofMonth
, - * / ? L W
0-31
Month
, - * /
1-12
DayofWeek
, - * / ? L #
1-7或SUN-SAT
#Cron格式中特殊字符说明
字 ...
营销模块数据库表解析(一)
本文主要对限时购(秒杀)功能相关表进行解析,采用数据库表与功能对照的形式。
#👍 相关视频教程
营销模块数据库表解析(一)open in new window
营销模块数据库表解析(二)open in new window
营销模块数据库表解析(三)open in new window
营销模块接口设计与实现_上篇open in new window
营销模块接口设计与实现_中篇open in new window
营销模块接口设计与实现_下篇open in new window
#相关表结构#限时购表
用于存储限时购活动的信息,包括开始时间、结束时间以及上下线状态。
12345678910create table sms_flash_promotion( id bigint not null auto_increment, title varchar(200) comment '标题', start_date date comment '开始日期& ...
