关于模块化后代码问题
来源: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】
5674 学习 · 2489 问题
相似问题
代码模块化,重复代码并未减少
回答 1
多模块拆分
回答 3