1. 启动Linux虚拟机&远程登录Linux系统&启动MySQL服务器

# 一种安全、可靠的 MySQL 启动方式
[root@localhost bin]# ./mysqld_safe &
  • mysqld_safe :MySQL 提供的安全启动脚本,它会启动 mysqld(MySQL 服务器进程),并在后台监控 mysqld 的运行状态。如果 mysqld 意外崩溃,mysqld_safe 会自动尝试重启它,保证 MySQL 服务的稳定性。
  • ./ :在当前目录下执行 mysqld_safe 脚本(通常该脚本位于 MySQL 的 bin 目录下)。
  • & :Linux 中的后台执行符号,用于将 mysqld_safe 进程放到后台运行,执行该命令后,终端不会被占用,仍可继续输入其他命令。

2. 关闭防火墙

# 1. 立即停止当前运行的 firewalld 防火墙服务。
[root@localhost bin]# systemctl stop firewalld
# 2. 查看 firewalld 防火墙服务的当前运行状态。
[root@localhost bin]# systemctl status firewalld
# 3. 永久禁用 firewalld 防火墙的 “开机自启” 功能。
[root@localhost bin]# systemctl disable 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 {
    ...
    @Bean
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}
@Service
public class OrderService {
    ...
    @Autowired
    private 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.存入order
        order.setUser(user);
        ...
    }
}

通过 @Bean 注解将 RestTemplate 对象注入到 Spring 容器中,供其他组件(如 OrderService)依赖注入使用。

RestTemplate 是 Spring 提供的 HTTP 客户端工具,用于发送 HTTP 请求(这里用于远程调用用户服务 userservice)。

浏览器再访问localhost:8080/order/101

​

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐