# ssm-redis-rabiit-es **Repository Path**: coder_chenjun/ssm-redis-rabiit-es ## Basic Information - **Project Name**: ssm-redis-rabiit-es - **Description**: 一个简单的ssm与三大中间件整合使用的案例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-11-13 - **Last Updated**: 2023-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 分为前台项目和后台项目 ## 前台项目(fe) - 不是一个前后端分离的项目(特意这样设计,演示知识用) - 项目上下文就是fe,端口号是8080(之后可能变成80) - 对商品进行插入操作(db) - 插入商品时顺便也把相关数据放到rabbit,特意这样设计,强调mq的生产与消费是可以不在一个项目里的(不在一台电脑上),实际可以不这样 - 用户对商品进行搜索(es实现),要支持高亮、分页 - 用户点击某一个商品详情时,先从redis中取,取不到就从数据库查询 # 后台项目(be) - 是一个前后端分离的项目 - 项目上下文就是be,端口号6666 - 这里从rabbit中消费商品信息 - 把商品信息存放到es中,以便前台后续的查询操作 # 设计数据库 - 库名,表名,字段名全小写 - 单词之间用下划线分隔 product_image是用来存放商品图片的,案例中可能不实现文件上传的操作 ```sql create table ssm_product ( id int auto_increment primary key , product_name char(10), product_desc char(100), product_price decimal(10,2), product_image char(50) ) ``` # 创建项目 ## 建立父子模块(不是必须) ## 删除父模块的src ## 添加readme.md ## 添加gitignore文件 ## 被git管理起来,并放到远程仓库中 # 父模块的处理 - 添加属性 - 设置依赖管理 # 前台项目实现 - 商品插入功能实现 - 添加web构面 - 配置非标准maven web项目的构建插件 - 打包,配置tomcat,运行 - 构建spring mvc项目 - 完成插入数据到db的功能 - 完成新增商品放置到mq中去 - 处理商品的搜索 # 后台项目实现 - 构建mvc项目 - es的初始化,建立索引与mapping - 消费mq的消息 - 把数据插入到es # 项目 - 启动前台和后台项目 - 访问后台项目的/init/es进行es的初始化工作 - 访问后台项目的/init/mq进行mq的初始化工作 - 访问前台,插入一个product - 检查es中有没有新增的商品的数据,后台消费消息队列中的消息并放入到es中 - 进入商品搜索页面搜索商品,会从es中进行搜索 - 点击搜索到的某一个商品,进入商品详情页,这里会采用redis缓存商品详情的内容