已解决
微服务-服务拆分
来自网友在路上 166866提问 提问时间:2023-10-26 22:54:16阅读次数: 66
最佳答案 问答题库668位专家为你答疑解惑
文章目录
- 服务拆分及注意事项
- 服务拆分案例
- 案例代码分析
服务拆分及注意事项
每个服务有独立的数据库,订单模块需要查询用户信息时,通过调用用户模块的接口,自身的数据库并没有用户信息。
服务拆分案例
案例结构
案例有2个微服务,order-service微服务对应的表为cloud-order,user-service微服务对应的表为cloud-user。在实际生产部署时,这两个表会被放在不同的数据库中,没有办法做关联查询。
需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回
案例代码分析
- 配置类
/*** @SpringBootConfiguration继承自@Configuration,* 二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中*/
@SpringBootConfiguration
public class WebConfiguration {@Bean //相当于@Controller,@Service等public RestTemplate restTemplate(){return new RestTemplate();}
}
- 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;}
}
- 测试
查看全文
99%的人还看了
猜你感兴趣
版权申明
本文"微服务-服务拆分":http://eshow365.cn/6-25484-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!