SpringGateway(网关)微服务

一.启动nacos

1.查看linux的nacos是否启动

docker ps

2.查看是否安装了nacos

前面是你的版本,后面的names是你自己的,我们下面要启动的就是这里的名字。

 docker ps -a

3.启动nacos并查看是否启动成功

二.创建网关项目

1.创建idea的maven项目

 

 

 2.向pom.xml文件里添加依赖

 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version></parent><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><jwt.version>0.7.0</jwt.version><fastjson.version>1.2.60</fastjson.version><spring-cloud-alibaba.version>2.0.3.RELEASE</spring-cloud-alibaba.version><spring-cloud.version>Finchley.SR2</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

3.创建启动类

package com.jr;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class,args);}
}

如果导入别人的项目,依赖是有传递性的这样你的项目里依赖的中间件就会很多,可以通过exclude属性排除掉。这样其他的中间件就不会启动了。
@SpringBootApplication(exclude = {XXXX.class, YYYY.class}) 

网关是一个非常干净的工程,不会添加其它中间件的配置,所以网关工程里只有一个Application的启动类和配置文件。启动类的注解@SpringBootApplication注解中可能开启的其它中间件的@EnableXXX,可以把其它中间件的注解排除掉,保证网关只启动自己的应用,只完成网关功能。

 4.创建bootstrap.yml配置文件

spring:cloud:nacos:discovery:server-addr: 192.168.130.39:8848config:server-addr: 192.168.130.39:8848inetutils:preferred-networks: 192.168.116

下面这个看我另一个博客在idea使用nacos微服务-CSDN博客

 

5.创建application.properties配置文件  


##设置项目的注册名
spring.application.name=gateway   ##设置项目的端口号  以上两个设置放在同一个配置文件里。
server.port=300

6.在resources创建一个index.html页面(一定要是index.html界面哈)

还有得先建立一个static或者public包,把index.html放里面

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>index.html页面</h1>
</body>
</html>

 7.启动idea项目

启动结果: 

三.配置网关 

1.向pom.xml里添加部分依赖

先把下面代码的依赖删了,网关不需要前端了,所以要去除web依赖。

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

 否则会出现下面的错误

记得别放<dependencyManagement></dependencyManagement>这个标签去了

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><scope>compile</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>

2.在resources中创建application.yml文件

这注意要在resources右键建立,别在文件里创建application.yml,之前创建的resources下的两个配置文件也是这样,一定在resoures外面。

这里我把public文件夹收起来了(如果为来有多个文件夹,全部收起来),但是外面的三个配置文件还在外面,他三个必须在外面。

这里拿百度举例吧

 - id: baidu_route(路由id唯一,是一个数组,可以配置多个路由)
           uri: https://www.baidu.com(路由到的地址)
           predicates:(断言)
             - Query=url, baidu(如果存在url和baidu,那么跳转到uri地址)

spring:cloud:gateway:routes:- id: baidu_routeuri: https://www.baidu.compredicates:- Query=baidu

 3.启动idea项目

自己浏览器地址栏输入下面

跳转成功,http://localhost:300/baidu不会跳转到百度,http://localhost:300/baidu?baidu才会跳转到百度,是根据参数做断言。

四.我的项目结构

这里就结束了,这是我的项目结构,希望能帮到大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/436975.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解

THULAC&#xff08;THU Lexical Analyzer for Chinese&#xff09;是清华大学开发的一款中文词法分析工具&#xff0c;集成了分词和词性标注两大功能。THULAC 拥有强大的分词能力和高效的词性标注&#xff0c;适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较…

计算机网络-系分(5)

目录 计算机网络 DNS解析 DHCP动态主机配置协议 网络规划与设计 层次化网络设计 网络冗余设计 综合布线系统 1. 双栈技术 2. 隧道技术 3. 协议转换技术 其他网络技术 DAS&#xff08;Direct Attached Storage&#xff0c;直连存储&#xff09; NAS&#xff08;Net…

应用于人形手机器人超小型HarmonicDrive哈默纳科减速机

人形手机器人需要高度的精准性和灵活性以完成各种复杂的任务。减速机的应用&#xff0c;为其提供了关键的动力传输和运动控制支持&#xff0c;它能够将电机的高速旋转转换为适合人形手机器人动作的低速高扭矩输出&#xff0c;确保机器人的动作平稳、准确。HarmonicDrive哈默纳科…

HTML粉色烟花秀

目录 系列文章 写在前面 完整代码 下载代码 代码分析 写在最后 系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4

cocos打包后发布web,控制台报错.plist资源下载404

web加载报错 download failed: assets/main/native/0a/0a1a5e41-7d91-4a5d-9552-2c10e5fc5867.plist, status: 404&#xff0c; 应该是MIME属性没有设置允许下载.plist后缀的文件。 对于linux应该改nginx或apache&#xff0c;允许下载该类文件。 我部署在了windows服务器上&am…

基于element+vue,结合el-select,自定义内置筛选框的下拉框组件

基于elementvue&#xff0c;结合el-select&#xff0c;自定义内置筛选框的下拉框组件 效果如下&#xff1a; 代码如下&#xff1a; <template><div class"m-t50 m-l50"><el-select class"phoneAreaCodeSelect" popper-class"selec…

设计模式之门面(Facade)模式

前言 在组建构建过程中&#xff0c;某些接口之间直接的依赖常常会带来很多问题、甚至跟本无法实现。采用添加一层&#xff08;间接&#xff09;稳定接口&#xff0c;来隔离本来互相紧密关联的接口是一种常见的解决方案 定义 “接口隔离” 模式。为子系统中的一组接口提供一个一…

在掌控板中加载人教版信息科技教学指南中的educore库

掌控板中加载educore库 人教信息科技数字资源平台&#xff08;https://ebook.mypep.cn/free&#xff09;中的《信息科技教学指南硬件编程代码说明》文件中提到“本程序说明主要供教学参考。需要可编程主控板须支持运行MicroPython 脚本程序。希望有更多的主控板在固件中支持ed…

【测试类文档整理】软件项目测试方案(word)

1. 引言 1.1. 编写目的 1.2. 项目背景 1.3. 读者对象 1.4. 参考资料 1.5. 术语与缩略语 2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.…

【华为HCIP实战课程一】OSPF相关基础介绍及基础配置,网络工程师必修

一、OSPF介绍 开放式最短路径优先协议OSPF(Open Shortest Path First),IPv4使用的OSPFv2,针对IPv6使用OSPFv3协议。 二、为什么需要OSPF OSPF出现之前,网络广泛使用RIP路由协议,RIP由于最大16跳数限制无法适应大型网络,RIP是基于距离矢量算法的路由协议,应用在大型网…

你以为瀑布流布局很复杂?Vue-Waterfall让你秒变前端高手

你以为瀑布流布局很复杂&#xff1f;Vue-Waterfall让你秒变前端高手 Vue-Waterfall 是一个轻量级的 Vue.js 组件&#xff0c;专为实现灵活的瀑布流布局设计。如果你需要在页面上呈现动态、响应式的布局&#xff0c;那这个组件绝对能帮到你&#xff01;本文将带你快速了解这个组…

开源模型应用落地-模型微调-语料采集-数据核验(三)

一、前言 在自然语言处理(NLP)的快速发展中,语料采集作为基础性的步骤显得尤为重要。它不仅为机器学习模型提供了所需的训练数据,还直接影响模型的性能和泛化能力。随着数据驱动技术的不断进步,如何有效并高效地收集、清洗和整理丰富多样的语料,已成为研究者和工程师们亟…

.Net 基于IIS部署blazor webassembly或WebApi

1.安装IIS(若安装&#xff0c;请忽略) 选择:控制面板–>程序–>程序和功能 选择:启动或关闭Windows功能&#xff0c;勾选相关项&#xff0c;再点击确定即可。 2.安装Hosting Bundle 以.net6为例&#xff0c;点击连接https://dotnet.microsoft.com/en-us/download/dot…

★ C++进阶篇 ★ map和set

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第四章----map和set ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSDN博…

scrapy 爬取微博(五)【最新超详细解析】: 爬取微博文章

1 读取配置参数 爬取微博文章首先需要读取settings.py中的设置的配置变量&#xff0c;然后编写爬虫&#xff0c;读取的配置变量主要有爬取的关键词、时间范围、爬取区域等。 class WeiboSearchSpider(scrapy.Spider):name weibo_searchallowed_domains [weibo.com]settings…

Windows 环境下 MySQL5.5 安装与配置详解

Windows 环境下 MySQL5.5 安装与配置详解 目录 Windows 环境下 MySQL5.5 安装与配置详解一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一、MySQL 软件的下载 1、登录网址&#…

基于Springboot+Vue的《计算机基础》网上考试系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

github项目--crawl4ai

github项目--crawl4ai 输出html输出markdown格式输出结构化数据与BeautifulSoup的对比 crawl4ai github上这个项目&#xff0c;没记错的话&#xff0c;昨天涨了3000多的star&#xff0c;今天又新增2000star。一款抓取和解析工具&#xff0c;简单写个demo感受下 这里我们使用cra…

ThreadLocal内存泄漏分析

一、ThreadLocal内存泄漏分析 1.1 ThreadLocal实现原理 1.1.1、set(T value)方法 查看ThreadLocal源码的 set(T value)方法&#xff0c;可以发现数据是存在了ThreadLocalMap的静态内部类Entry里面 其中key为使用弱引用的ThreadLocal实例&#xff0c;value为set传入的值。核…

031集——文本文件按空格分行——C#学习笔记

如下图&#xff0c;读取每行文本&#xff0c;每行文本再按空格分开读取一个字符串&#xff0c;输出到另一个文本&#xff1a; CAD环境下&#xff0c;代码如下&#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…