# hmall **Repository Path**: Tomoe780/hmall ## Basic Information - **Project Name**: hmall - **Description**: 在线商城微服务项目开发 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2024-04-16 - **Last Updated**: 2025-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: 微服务, 分布式搜索, Docker, mq, MybatisPlus ## README # hmall #### 介绍 hmall商城系统微服务项目开发 #### 软件架构 微服务架构 #### 安装教程 1. 配置虚拟机 2. 在虚拟机上安装docker,在docker中配置mysql、nacos、seata、mq容器(安装对应镜像,上传config目录中的配置文件到虚拟机的root目录),运行sql脚本 3. 克隆项目,在IDEA中连接虚拟机的mysql,连接本地redis 4. 启动nginx,在浏览器中访问localhost:18080 #### 使用说明 1. nacos共享配置 shared-jdbc.yaml ``` spring: datasource: url: jdbc:mysql://${hm.db.host: **xxx** }:${hm.db.port: **xxx** }/${hm.db.database}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver username: ${hm.db.un: **xxx** } password: ${hm.db.pw: **xxx** } #热部署 devtools: restart: enabled: true mybatis-plus: configuration: default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler global-config: db-config: update-strategy: not_null id-type: auto ``` shared-log.yaml ``` logging: level: com.hmall: debug pattern: dateformat: HH:mm:ss:SSS file: path: "logs/${spring.application.name}" ``` shared-swagger.yaml ``` knife4j: enable: true openapi: title: ${hm.swagger.title:黑马商场接口文档} description: ${hm.swagger.desc:黑马商场接口文档} email: 780741725@qq.com concat: 川川 url: www.tomoe780.top version: v1.0.0 group: default: group-name: default api-rule: package api-rule-resources: - ${hm.swagger.package} ``` cart-service ``` hm: cart: maxItems: 10 ``` shared-seata.yaml ``` seata: registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址 type: nacos # 注册中心类型 nacos nacos: server-addr: **xxx** # nacos地址 namespace: "" # namespace,默认为空 group: DEFAULT_GROUP # 分组,默认是DEFAULT_GROUP application: seata-server # seata服务名称 username: nacos password: nacos tx-service-group: hmall # 事务组名称 service: vgroup-mapping: # 事务组与tc集群的映射关系 hmall: "default" # 默认为AT模式 data-source-proxy-mode: AT ``` gateway-routes.json ``` [ { "id": "item", "predicates": [{ "name": "Path", "args": {"_genkey_0":"/items/**", "_genkey_1":"/search/**"} }], "filters": [], "uri": "lb://item-service" }, { "id": "cart", "predicates": [{ "name": "Path", "args": {"_genkey_0":"/carts/**"} }], "filters": [], "uri": "lb://cart-service" }, { "id": "user", "predicates": [{ "name": "Path", "args": {"_genkey_0":"/users/**", "_genkey_1":"/addresses/**"} }], "filters": [], "uri": "lb://user-service" }, { "id": "trade", "predicates": [{ "name": "Path", "args": {"_genkey_0":"/orders/**"} }], "filters": [], "uri": "lb://trade-service" }, { "id": "pay", "predicates": [{ "name": "Path", "args": {"_genkey_0":"/pay-orders/**"} }], "filters": [], "uri": "lb://pay-service" } ] ``` 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 提交代码 3. 新建 Pull Request