【Spring全家桶系列之核心篇 | Spring Cloud】 - 第七章 掌握Gateway核心技术,实现高效路由与转发

目录

前言

Spring Cloud Gateway 是一个基于 Spring Boot 的非阻塞 API 网关服务,它提供了动态路由、请求断言、过滤器等功能。

以下是关于 Spring Cloud Gateway 的示例:

示例

创建一个服务提供者

  1. 新建Module
    dependency选择Spring Web及Eureka Discovery Client。
    2. 打开pom.xml文件,修改如下:
    3. 定义服务
    在src/main/java下面的com.cherry.provider 下创建新的包controller(也可以不创建新的包,在当前provider包下),并新建下面的类:
java 复制代码
package com.cherry.provider1.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("product")
public class ProductController {
    @RequestMapping("list")
    public String list(){
        
        return "这是product列表";
    }
}
  1. 在resource中的配置文件中加入配置
java 复制代码
server.port=8009
spring.application.name=my_provider1
#注册中心的地址
eureka.client.service-url.defaultZone=http://localhost:8001/eureka/
  1. 修改启动类,如下:
java 复制代码
package com.cherry.provider1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class Provider1Application {
    public static void main(String[] args) {       
        SpringApplication.run(Provider1Application.class, args);
    }
}
  1. 打开注册中心

创建网关

  1. 新建Module
    2. 修改pom.xml文件
    3. 修改配置文件application.properties,对网关进行配置
java 复制代码
server.port=9001
spring.application.name=gateway
spring.cloud.gateway.routes[0].id= gateway-service
spring.cloud.gateway.routes[0].uri= http://localhost:8002
spring.cloud.gateway.routes[0].predicates[0]= Path=/building/welcome
  1. 启动服务

创建common子项目

相关推荐
frjc5 小时前
Spring AI 高级实战:ChatMemory、Tool Calling 与 MCP 架构解析
人工智能·spring·架构
T量子永生6 小时前
Unisoc(紫光展锐) Kernel 6.18 DDK 编译框架详解
linux·运维·spring
麻瓜code7 小时前
Spring AI 全模块 API 字典一览(1.1.0 版)
人工智能·windows·spring
养军博客8 小时前
Spring Security 4.x / 5.x / 6.x 配置全对比:前后端不分离与前后端分离
java·后端·spring·springsecurity
java_nnnn9 小时前
Spring IoC & DI 从入门到理解:控制反转、依赖注入与 Bean 管理详解
数据库·sql·spring
骑着蜗牛撵大象32710 小时前
Spring Boot 4.1 + Spring AI 2.0:RAG 供文、图谱供关系、MCP 供工具的 Java Agent 平台
java·spring boot·spring·微服务·知识图谱·rag·mcp
CoderYanger11 小时前
Java EE 进阶:6.SpringBoot 配置文件(第二弹)
java·spring boot·spring·面试·职场和发展·java-ee·程序员创富
code_slave(码畜)11 小时前
微服务架构落地:慢 SQL 治理与连接池调优 —— 守住数据库的最后一道防线
数据库·spring boot·sql·spring cloud·微服务·架构
m0_6399069411 小时前
SpringBoot 实现大模型统一调度网关|对接 OpenAI、Claude 协议差异与适配方案
java·spring boot·spring