目录
前言
此文是作为SSM+Nginx+Redis+MySQL+Quarz+Vue实现校园商铺平台_往事如烟隔多年的博客-优快云博客前言此项目为解决大学生群体校园生活中日益凸显的需求问题,基于SSM框架构建了一个校园商铺平台系统。平台包含用户、商家、管理员三大模块,用户模块中包含查看商品、添加购物车、购买商品功能,商家模块包含商品、类别、商铺管理等功能,管理员模块包含用户、头条、区域管理等功能。系统引入Redis缓解数据库压力,Nginx配合Tomcat实现动静分离,使用CentOS部署项目,极大提高系统的安全与稳定性。技术架构...https://blog.youkuaiyun.com/mdzz14/article/details/119394423的补充,最近对原有的项目的代码做了重构处理,框架由SSM升级到SpringBoot,代码编写遵循阿里巴巴编码规约,并引入全局异常处理机制和全局响应,集成Hibernate Validator对参数进行校验,使用smart-doc实现多元化接口文档管理。
技术架构
项目结构
src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── o2o
│ │ │ └── shop
│ │ │ ├── api // api接口/controller层
│ │ │ │ └── v1 // 版本号
│ │ │ ├── bo // 业务逻辑对象封装
│ │ │ ├── config // 配置文件相关
│ │ │ ├── constant // 全局常量配置
│ │ │ ├── dto // 数据传输对象,用于前端参数映射
│ │ │ ├── exception // 全局异常处理类
│ │ │ ├── interceptor // 拦截器处理类
│ │ │ ├── mapper // 数据库接口
│ │ │ ├── model // 数据库实体类
│ │ │ ├── service // 业务逻辑接口层及其实现类
│ │ │ │ └── impl
│ │ │ ├── util // 工具类
│ │ │ ├── vo // 全局数据返回对象
│ │ │ ├── util // 工具类
│ │ │ ├── validator // 校验器,分组校验配置
│ │ │ └── WineApplication.java // 项目主启动类
│ │ └── resources // 资源文件
│ │ ├── application-dev.yml // dev 开发环境
│ │ ├── application-prod.yml // prod 生产环境
│ │ ├── application-test.yml // test 测试环境
│ │ ├── application.yml // 主配置文件,根据active配置加载不同的环境,默认dev
│ │ ├── config
│ │ ├── DataSource // 用于测试的数据库文件
│ │ ├── static
│ │ │ └── doc // 接口文档输出目录
│ │ ├── mapper // 自定义mapper文件
│ │ └── templates
│ └── test // 单元测试相关
├── .gitignore
└── pom.xml
由于前端页面展示效果与之前文章的截图无太大区别,此处不做重复展示。具体后端接口信息以接口文档的实际内容为主。
参数校验
项目中集成了Hibernate Validator作为参数校验实现,使参数校验变得更加简单,具体实现和使用可参考如下文章:
化繁为简,使用Hibernate Validator实现参数校验(一)_往事如烟隔多年的博客-优快云博客
化繁为简,使用Hibernate Validator实现参数校验(二)_往事如烟隔多年的博客-优快云博客
全局响应与全局异常处理
通过使用全局处理机制对接口的返回值进行规范和格式化,使其更加优雅。使用可参考如下文章:
聚合统一,SpringBoot实现全局响应和全局异常处理_往事如烟隔多年的博客-优快云博客