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

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

需要准备的依赖

java 复制代码
<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。

商品微服务的拆分完成。

相关推荐
Mr-Wanter6 分钟前
Spring Boot 接口签名实践
java·spring boot
嘻嘻嘻3218 分钟前
ICLR2025|MIM‑Refiner:利用预训练掩码图像建模中间表征提升对比学习
学习
星恒随风9 分钟前
Linux线程同步与互斥:彻底理解读者写者问题、读写锁原理、读者优先与写者优先(附pthread完整实验)
linux·服务器·笔记·1024程序员节
denlaku21 分钟前
JDK 22 新特性详解
java·开发语言
Young Doro23 分钟前
从 KSG 到 InfoAtlas:互信息估计完整学习册
学习
余槐i26 分钟前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
Be for thing30 分钟前
PyCharm安装与PyTorch项目配置|Jupyter Notebook与PyCharm使用对比
pytorch·学习·1024程序员节
Dawson Zhu37 分钟前
【CUDA编程入门⑦】HPC算子开发实战:从优化方法论到业务落地
人工智能·语言模型·架构·aigc·agi
合尘猫1 小时前
AI客服国标落地一个月:从工程角度看,真正要改的是三处数据结构
数据库·人工智能·架构
RuoyiOffice1 小时前
Flowable 状态通知设计:单体用本地事件,微服务如何回写业务状态?
spring boot·微服务·vue3·flowable·ruoyi office·redis stream·流程状态通知