当前位置:首页 > 编程笔记 > 正文
已解决

微服务-服务拆分

来自网友在路上 166866提问 提问时间:2023-10-26 22:54:16阅读次数: 66

最佳答案 问答题库668位专家为你答疑解惑

文章目录

    • 服务拆分及注意事项
    • 服务拆分案例
    • 案例代码分析

服务拆分及注意事项

每个服务有独立的数据库,订单模块需要查询用户信息时,通过调用用户模块的接口,自身的数据库并没有用户信息。

在这里插入图片描述

服务拆分案例

案例结构

案例有2个微服务,order-service微服务对应的表为cloud-order,user-service微服务对应的表为cloud-user。在实际生产部署时,这两个表会被放在不同的数据库中,没有办法做关联查询。

在这里插入图片描述

需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回

在这里插入图片描述

案例代码分析

  1. 配置类
/*** @SpringBootConfiguration继承自@Configuration,* 二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中*/
@SpringBootConfiguration
public class WebConfiguration {@Bean //相当于@Controller,@Service等public RestTemplate restTemplate(){return new RestTemplate();}
}
  1. OrderService类
@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;// 获取restTemplate对象@Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order = orderMapper.findById(orderId);// 2.定义urlString url = "http://localhost:8081/user/"+order.getUserId();// 3.发送http请求User user = restTemplate.getForObject(url, User.class);// 4.封装userorder.setUser(user);// 5.返回return order;}
}
  1. 测试
    在这里插入图片描述
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"微服务-服务拆分":http://eshow365.cn/6-25484-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!