微服务基础:远程调用的基本使用详解
1. 启动Linux虚拟机&远程登录Linux系统&启动MySQL服务器
[root@localhost bin]# ./mysqld_safe &
2. 关闭防火墙
[root@localhost bin]# systemctl stop firewalld
[root@localhost bin]# systemctl status firewalld
3. 测试连接,创建数据库cloud_order和cloud_user,运行SQL文件
sql文件:通过网盘分享的文件:cloud-order.sql等2个文件
链接: https://pan.baidu.com/s/15mVwLEEk_cwXlGLDleYqqA?pwd=7yf3 提取码: 7yf3
4. 配置Idea&Maven
项目:通过网盘分享的文件:cloud-demo.zip
链接: https://pan.baidu.com/s/1HhV_2U2JzvJmAQZmTkFo0g?pwd=2j4i 提取码: 2j4i
5. 修改项目配置、运行、访问
修改两个application.yml文件
运行OrderApplication.java和UserApplication.java
浏览器访问localhost:8080/order/101和localhost:8081/user/1
6. RestTemplate实现远程HTTP调用
OrderService中向UserService发起一个HTTP请求:
@MapperScan("com.situ.order.mapper")
@SpringBootApplication
public class OrderApplication {...@Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();}
}
@Service
public class OrderService {...@Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {...// 根据订单表里的userId查询用户信息// 2.远程查询user// 2.1.url地址String url = "http://localhost:8081/user/" + order.getUserId();// 2.2.发起调用User user = restTemplate.getForObject(url, User.class);// 3.存入orderorder.setUser(user);...}
}
浏览器再访问localhost:8080/order/101