拆分微服务遇到的那些坑——黑马微服务作业

在完成黑马微服务作业拆分的过程中遇到了不少的坑,总结我们解决策略:

一. 拆分用户微服务模块

配置类未被Spring扫描到

解决措施

  • 在JwtProperties配置类中添加 @Component注解,注册成组件
  • 或者在启动类中添加@EnableConfigurationProperties(JwtProperties.class)注解
    • 虽然Spring Boot通常会自动扫描并注册带有@ConfigurationProperties注解的类,但如果您在一个非标准的包中放置了JwtProperties,或者由于某种原因Spring Boot没有自动检测到它,您可能需要在配置类上显式启用它。

二、拆分交易微服务模块

导类准则问题——冲突则以顶层api模块为准

我们基本上所有涉及到跨微服务的模块都会继承 hm-api模块。但是会出现这样一种问题:交易模块中导入了一个DTO对象,同时这个对象也被hm-api中相关的方法所导入了。这就导致冲突产生。具体的看下面的描述:

在交易微服务模块中

引入了OrderDetaDTO相关类

在实现类中导包导的是本微服务模块下的包

在实现类中,调用mybatisplus相关方法,到这里还没问题

注意了,此时OrderDetaDTO还是本包下的类。

现在调用api模块提供的client接口,同样需要传入detailDTOS对象

报错了,原因是类型不匹配了。itemClient接口需要的类实在api模块下的。

解决方法

       所以如果跨服务请求中遇到这种冲突的情况,调用者微服务模块就把这个类删掉,让api类来安排就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值