SpringBoot天猫商城基于前后端分离+SpringBoot+BootStrap、Vue.js、JQuery+JPA+Redis

本文主要是介绍SpringBoot天猫商城基于前后端分离+SpringBoot+BootStrap、Vue.js、JQuery+JPA+Redis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SpringBoot天猫商城整站

一、项目介绍和演示

SPRINGBOOT天猫整站,基于 前后端分离思想, 由于该商城高并发的特点,后端框架便使用了方便维护的 SpringM
VC
SpringBoot框架,而前端框架则选择了主流的BootStrapVue.jsJQuery三大前端框架,页面使用Thymeleaf3渲染。为了方便校验登录访问控制授权在安全框架方面使⽤了Shiro ,因为该项目的数据使用JPA 进行DAO操作, 所以在搜索引擎方面使⽤和SpringBoot兼容性高的ElasticSearch搜索引擎。ElasticSearch在SpringBoot上有专门JPA 接口 ElasticsearchRepository 进行DAO操作。最后因为电商网站的数据在处理过程中,通常在高并发的场景下涉及到了大量的重复读写,这样一来会消耗了很多性能和读取时间,为了可以满足高并发场景下实时的读取需求,所以缓存⽅⾯⽤了Redis。

项目:https://github.com/Tyler-Ou/tmall_springboot

二、项目结构

1. 项目名称

项目名称: tmall_springboot

2. java源代码包结构

如图

在这里插入图片描述

├─tmall
│ ├─comparator 比较器类 用于搜索结果筛选
│ ├─config 配置器类 用于配置 跨域、 redis、Shiro、页面拦截

│ ├─entity 实体类
│ │ ├─controller 控制器
│ │ ├─dao 持久层进行DAO操作
│ │ ├─pojo 实体
│ │ ├─service 服务

│ ├─es Elasticsearch持久层API配置类
│ ├─exception 全局异常处理器类
│ ├─interceptor 拦截器类
│ ├─realm shiro-Realm类
│ ├─test 测试类
│ ├─util 工具类

│ ├─web 页面类
│ │ ├─AdminPageController 后台页面控制器
│ │ ├─ForePageController 前端页面映射控制器
│ │ ├─ForeRestController 前端页面内容请求控制器

Application 程序主入口

3. 资源包结构

如图

在这里插入图片描述

├─resource 资源目录
│ ├─public 公共资源
│ │ ├─css 公共CSS
│ │ ├─img 页面展示用图片
│ │ ├─js 公共JS
│ ├─templates thymeleaf3对应的模板目录
│ │ ├─admin 后台Html展示页
│ │ ├─fore 前台Html展示页
│ │ ├─include 组件页
│ │ │ ├─admin 后台组件页
│ │ │ ├─fore 前台组件页
.properties 全局配置文件

三、功能场景

典型场景

  1. 购物车
    立即购买 加入购物车 查看购物车页面 购物车页面操作

  2. 订单状态流转
    生成订单 确认支付 后台发货 确认收货 评价

  3. CRUD
    后台各种功能

  4. 分页
    后台各种功能

  5. 一类产品多属性配置
    属性管理

  6. 一款产品多图片维护
    产品图片管理

  7. 产品展示
    前台首页 前台产品页

  8. 搜索查询-基于elastic search
    搜索

  9. 登录、注册 - 基于 shiro
    注册 登录 退出

  10. 登录验证 - 基于 shiro
    登录状态拦截器

  11. 事务管理
    ForeRESTController.对createOrder进行事务管理
    等等 。。。

  12. 缓存处理
    全站数据通过 redis 进行了缓存

四、技术总结

● 后端:Spring SpringMVC、SpringBoot
● 前端:BootStrap、Vue.js、JQuery、Thymeleaf3
● 安全:Shiroㅤㅤ ● 搜索引擎:elastic search
● 缓存:Redisㅤㅤ● 数据:JPA
● 仓库管理:Gitㅤ ● 集成环境:idea
● 服务器容器:docker-mysql
● elastic search、Redis文件及其对应的可视化工具均在 在tool夹文件内

五、项目地址

https://github.com/Tyler-Ou/tmall_springboot



喜欢的朋友记得点赞、收藏、关注哦!!!

这篇关于SpringBoot天猫商城基于前后端分离+SpringBoot+BootStrap、Vue.js、JQuery+JPA+Redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107602

相关文章

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

Java高效实现Word转PDF的完整指南

《Java高效实现Word转PDF的完整指南》这篇文章主要为大家详细介绍了如何用Spire.DocforJava库实现Word到PDF文档的快速转换,并解析其转换选项的灵活配置技巧,希望对大家有所帮助... 目录方法一:三步实现核心功能方法二:高级选项配置性能优化建议方法补充ASPose 实现方案Libre

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发