Bootstrap

微服务--服务远程调用(黑马程序员)

@SpringBootApplication是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解的综合, 其中@SpringBootConfiguration说明主程序这个类也是一个配置类,可以实现bean的动态注入。
于是实现服务的远程调用可以根据以下步骤进行:

1 注册 RestTemplate

在 order-service 的 OrderApplication 中注册 RestTemplate:

MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}

2 服务远程调用 RestTemplate

修改 order-service 中的 OrderService 的 queryOrderById 方法:

    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);
        String url = "http://localhost:8081/user/" + order.getUserId();
        User user = restTemplate.getForObject(url,User.class);
        order.setUser(user);
        // 4.返回
        return order;
    }
;