(二)Gateway开发教程之SpringCloud集成过程

301 阅读2分钟

这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战

前情回顾

上一篇文章,我们分享了Gateway的基本介绍和主要特性,同时对Gateway有了基本的认识,有了这个基础,我们就可以进行初步的学习了。

今天我们就要来初步学习一下SpringCloud中如何集成Gateway网关组件。

SpringCloud集成Gateway

注:本次使用IDEA进行项目的创建、使用、运行等。

创建一个maven项目

首先让我们来创建一个maven项目,

引入gateway相关jar包

<!--gateway-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

如上xml信息,加入至pom.xml中即可,当然需要提前指定好SpringCloud的版本才行,如下代码。

<dependencyManagement>
    <dependencies>
        <!--SpringCloud-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

引入nacos相关jar包

然后引入Nacos相关的jar包,这里我们在之前的文章提到过了,就不多说了。

<!--nacos-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

修改gateway项目配置文件

配置文件是重中之重,如下代码:

server:
  port: 80
  tomcat:
    uri-encoding: utf-8
  servlet:
    context-path: /

spring:
  application:
    name: demo-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      enabled: true
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
      routes:
        - id: demo_route
          uri: http://www.baidu.com
          predicates:
            - Path=/baidu/**
          filters:
            - StripPrefix=1

运行项目

让我们编写好Application相关类,启动项目。

访问链接进行验证

启动完成后,让我们访问http://127.0.0.1/baidu/1

验证结果

随后我们会发现,页面会直接跳转至百度页面,这也就是网关路由生效了,到此Gateway已经初步集成完毕了。

总结

今天同大家分享了Gateway的初步集成,在项目中想必大家也有了一些感想。

如果大家目前正在使用Gateway组件的话,也可以分享一下你使用的经验;

如果没有,那么希望大家可以多思考一下Gateway基础功能的妙用,也可以与其他软件或者组件进行对比一下。

相信会有更深的理解。