当前位置: 首页 > news >正文

微服务拆分-拆分商品服务

 

 复制hm-service模块pom.xml文件里面的依赖到item-service模块pom.xml文件。

 需要准备的依赖

<dependencies>
        <!--common-->
        <dependency>
            <groupId>com.heima</groupId>
            <artifactId>hm-common</artifactId>
            <version>1.0.0</version>
        </dependency>
        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
    </dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

新建一个包

 准备以下的包

准备一个启动类,或者拷贝hm-service模块里面的启动类进行修改。

将hm-service模块里面的配置文件拷贝到item-service模块进行修改。

 我们每一个微服务都要做到独立,将来独立部署还要做到数据独立,也就是要做到自己有自己独立的数据库。我们需要去创建一个新的MySQL的实例,利用Docker重写创建一个,然后这个微服务独享一台MySQL,那么ip地址端口可能都会变化。但是这样的话成本太高了,假如说需要10个服务,就需要10台MySQL。我们采用了折中方案,我们不可能再用原来的这张表这个库了,我们用一台MySQL然后在这里面去创建不同的database,每个微服务创建一个database来做数据隔离。

把准备好的sql 放到MySQL里面去运行。

 

 

将 hm-service模块里面有关商品的类拷贝到item-service模块里面去。

 将报错的包删掉让它重新导入。

ALT+8所有的启动类都在这里,如果没有出现启动类就刷新Maven。

 

启动成功

 ·测试

所有的服务都配置了Swagger所以我们可以直接访问localhost:8081/doc.html。

 商品微服务的拆分完成。

http://www.dtcms.com/a/53030.html

相关文章:

  • 深入剖析Java代理模式:静态代理与动态代理的实战应用
  • Java中的 json文件
  • 【DeepSeek问答】访问QStandardItemModel::index(r,c)获取的空索引导致程序崩溃
  • 【奇点时刻】通义千问开源QwQ-32B技术洞察报告(扫盲帖)
  • 用Go的resty库批量下载公开网站视频
  • 基于Python实现的智能旅游推荐系统(Django)
  • 【C++教程】C++中的基本数据类型
  • Amlogic USB Burning Tool v2.2.5_晶晨线刷烧录工具v2.2.5_晶晨S905L3S-S905L3SB芯片_专用线刷烧录工具分享
  • 使用ASIWebPageRequest库编写Objective-C下载器程序
  • python学习笔记-day4(解决实际问题)
  • 我的技术十年
  • SHELL32!CDefView::_OnFSNotify函数是如何被调用的
  • MySQLvs Redis 事务:核心差异详解(简单易懂)
  • 49.日常算法
  • 深入解析MyBatis中一对一与一对多映射的实现方法与区别
  • Golang的代码注释规范指南
  • 计算机毕业设计SpringBoot+Vue.js众筹网站系统(源码+文档+PPT+讲解)
  • JavaScript实现著名的“两数之和”问题
  • C# Enumerable类 之 数据(类型)转换
  • Linux之kernel(1)系统基础理论(5)
  • 详细探索如何用脚本实现M小ySQL一键安装与配置,提升运维效率!
  • # 【Unity】【游戏开发】赛车游戏中碰撞加速的实现方法
  • LeetCode 692. 前K个高频单词:多种解法与实现技巧
  • YOLO11改进-模块-引入多尺度小波池化变压器MWPT 通过结合小波变换、多尺度池化以及门控机制等技术解决多尺度、小目标、边缘模糊等问题
  • 【GNN】第二章:图数据
  • 【电路笔记 TMS320C6***DSP】外部存储器接口 A EMIFA向FPGA(作为异步存储器)写入数据的示例
  • Python学习(十四)pandas库入门手册
  • 自学Java-JavaSE基础加强(File、IO流)
  • 市场趋势解析与交易策略优化
  • C# Unity 面向对象补全计划 之 [反射]自动处理带有自定义[特性]的类