关于模块化后代码问题
来源:5-9 项目改造成多模块

forevertsin3880189
2018-07-18
疑问代码如下:
import com.imooc.product.client.ProductClient; @Service public class OrderServiceImpl implements OrderService { @Autowired private ProductClient productClient; @Override public OrderDTO create(OrderDTO orderDTO) { //查询商品信息(调用商品服务) List<String> productIdList = orderDTO.getOrderDetailList().stream() .map(OrderDetail::getProductId) .collect(Collectors.toList()); List<ProductInfoOutput> productInfoList = productClient.listForOrder(productIdList); //扣库存(调用商品服务) List<DecreaseStockInput> decreaseStockInputList = orderDTO.getOrderDetailList().stream() .map(e -> new DecreaseStockInput(e.getProductId(), e.getProductQuantity())) .collect(Collectors.toList()); productClient.decreaseStock(decreaseStockInputList);
感觉上述代码只是引入ProductClient类,直接在本地使用,并未调用远端商品服务。
写回答
2回答
-
项目引用jar包,就是把jar包里的代码变成了项目里的代码呀,至于是调用远端还是本地,由里面的代码决定。
012018-07-29 -
wirechen
2018-07-18
你在写productClient的时候不是用feign调用了productService吗?在order服务引入productclient就相当于在order项目中使用feign调用了product服务,也就是远程调用了
00
SpringCloud Finchley(M2+RELEASE+SR2)微服务实战
SpringCloud组件实现微服务,【已升级Finchley.Release】
5673 学习 · 2489 问题
相似问题
代码模块化,重复代码并未减少
回答 1
多模块拆分
回答 3