SpringCloud 之 服务提供者

前提

便于理解,我修改了本地域名=》这里!!!

127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com

学习Rest实例之提供者

在这里插入图片描述

提供者模块展示

1、导入依赖

<!--        实体类 + Web--><dependency><groupId>com.jyl</groupId><artifactId>springcloud-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency>
<!--        热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka --><!-- eureka       --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version></dependency>
<!--        解决 eureka Status  actuator/info 完善监控信息--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>

2、application.yml 用户级配置文件

配置端口号、mybatis配置、spring配置、eureka配置、监控信息配置

server:port: 8001
# mybatis 配置mybatis:type-aliases-package: com.jyl.springcloud.pojoconfig-location: classpath:mybatis/mybatis-config.xmlmapper-locations: classpath:mapper/*.xml# spring 的配置spring:application:name: springcloud-provider-deptdatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: org.gjt.mm.mysql.Driverurl: jdbc:mysql://localhost:3306/db01?useUnicode=true&useSSL=false&characterEncoding=utf-8username: rootpassword: rootdruid:test-while-idle: false  # 关闭空闲检测eureka:client:service-url:  #       替换源码 默认this.serviceUrl.put("defaultZone", "http://localhost:8761/eureka/");# 端口号 7001 7002 7003  ,实际工作中是3台不同的电脑域名或IPdefaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7002.com:7003/eureka/instance:instance-id: springcloud-provider-dept8001  # 修改eureka 上	Status默认描述信息# 导入 actuator
info:app.name: jiangyl-springcloud8001company.name: jiang.yl.com

3、Controller层

通过DiscoveryClient的API从注册中心获取其他已经注册的服务的信息

@RestController
public class DeptController {@Autowiredprivate DeptService deptService;// 可以获取服务列表 @Autowiredprivate DiscoveryClient client;@PostMapping("/dept/add")public boolean addDept(Dept dept){return deptService.addDept(dept);}@GetMapping("/dept/get/{id}")public Dept get(@PathVariable("id") Long id){return deptService.queryById(id);}@GetMapping("/dept/list")public List<Dept> qeuryAll(){return deptService.queryAll();}// 还需要在启动类中添加 @EnableDiscoveryClient  服务发现  用于团队协助@GetMapping("/dept/discovery")//注册进来的微服务  , 获取一些信息public Object discovery(){// 获取微服务列表的清单List<String> services = client.getServices();System.out.println("discovery->services = " + services);// Eureka 中Application iDList<ServiceInstance> instances = client.getInstances("SPRINGCLOUD-PROVIDER-DEPT");for (ServiceInstance instance : instances) {System.out.println(instance.getHost()+"\t"+instance.getUri()+"\t"+instance.getPort()+"\t"+instance.getServiceId());}return this.client;}
}

4、service层

public interface DeptService {public boolean addDept(Dept dept);public Dept queryById(Long id);public List<Dept> queryAll();}

5、启动类

@EnableDiscoveryClient

@SpringBootApplication
@EnableEurekaClient  // 自动在服务启动后自动注册到Eureka中
@EnableDiscoveryClient // 服务发现
public class SpringBootProviderApplication_8001 {public static void main(String[] args) {SpringApplication.run(SpringBootProviderApplication_8001.class,args);}
}

测试结果展示

前提是先启动eureka集群

测试1

访问eureka服务 http://localhost:7001/可以查看到注册的提供者信息名称为SPRINGCLOUD-PROVIDER-DEPT

在这里插入图片描述

eureka默认界面

测试2

访问服务提供者接口 http://localhost:8001/dept/list

在这里插入图片描述

提供者list

测试3

访问http://localhost:8001/dept/discovery

在这里插入图片描述控制台输出

discovery->services = [springcloud-provider-dept]
[本机用户名]	http://[本机用户名]:8001	8001	SPRINGCLOUD-PROVIDER-DEPT
discovery->services = [springcloud-provider-dept]
[本机用户名]	http://[本机用户名]:8001	8001	SPRINGCLOUD-PROVIDER-DEPT

搭建eureka服务==>传送
搭建springcloud的提供者–>传送

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

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

相关文章

C语言中浮点型存储方式

前言 这次是上次博客的续写哦&#xff0c;如果有小伙伴不了解&#xff0c;可以点击链接跳转 C语言中整数与浮点数在内存中的存储 我们在上次的博客中给大家留了一段代码&#xff0c;不知道大家现在有没有想明白呢&#xff0c;让我来为大家揭秘吧&#xff01;&#xff01; int m…

RakSmart美国VPS评测分析你了解多少

在当前的云计算市场中&#xff0c;RakSmart美国VPS以其出色的性能与稳定性&#xff0c;受到了广大用户的青睐。本文将对RakSmart美国VPS进行新的评测分析&#xff0c;帮助大家更好地了解这款产品。 首先&#xff0c;从性能角度来看&#xff0c;RakSmart美国VPS无疑是一款高性能…

学python的第二十一天

生成激活码&#xff0c;连接数据库&#xff0c;并保存到数据库 1&#xff0c;生成激活码 # 1 生成激活码 import random # 导入随机数模块 import os # 导入os模块 import string # 导入字符串模块def GenKey(length): # 定义生成激活码函数chars string.ascii_letters …

Linux搭建NFS服务器

什么是NFS NFS是网络文件系统&#xff08;Network File System&#xff09;的缩写&#xff0c;是一种分布式文件系统协议&#xff0c;用于在网络上共享文件和目录。NFS允许用户从一个计算机上访问另一个计算机上的文件&#xff0c;就像它们本地存在一样。这意味着&#xff0c;…

C语言学习/复习34--内存相关笔试题/C与C++的内存/柔性数组

一、动态内存管理笔试题 1.值传递 注意事项1&#xff1a;指针的地址传递需要将指针的地址用二级指针接收&#xff0c;本题属于值传递不属于地址传递 修改&#xff1a;1改为地址传递&#xff0c;2释放malloc()函数申请的空间 注意事项2&#xff1a;printf()字符串时&#xff0c;…

力扣HOT100 - 200. 岛屿数量

解题思路&#xff1a; 岛屿题目一般使用dfs。 1.判断是否越界 2.用0&#xff0c;1&#xff0c;2三个状态标识当前格子的状态&#xff08;三个状态比两个状态更清晰&#xff09; 3.向周围四个方向遍历 class Solution {public int numIslands(char[][] grid) {int cnt 0;fo…

超实用的电脑桌面便签+待办清单app

对于上班族来说&#xff0c;桌面便签加待办清单软件是提升工作效率的得力助手。想象一下&#xff0c;在繁忙的工作中&#xff0c;你能够快速记录重要事项&#xff0c;设置待办任务提醒&#xff0c;一切都能有条不紊地进行。这种便捷性&#xff0c;尤其在处理多项任务和紧急事务…

算法----BF算法KMP算法

请想象一个情景&#xff1a; 当你脑海中突然浮现出一个词&#xff0c;你该怎么去找到这个词的有关内容&#xff1f; 打开我们浏览器的搜索框&#xff0c;输入你想的这个词&#xff0c;然后点击Enter。浏览器就会自动搜索与该词匹配的内容。 这个过程实际上可以简化成以下形式…

配置有效的防爬虫技术保护网站

本文主要介绍了防爬虫的概念、目的以及一些有效的防爬虫手段。防爬虫是指网站采取各种技术手段阻止爬虫程序对其数据进行抓取的过程。为了保护网站的数据和内容的安全性&#xff0c;防止经济损失和恶意竞争&#xff0c;以及减轻服务器负载&#xff0c;网站需要采取防爬虫机制。…

人工智能_大模型042_模型微调002_模型微调代码开发_模型评估_模型checkpoint_超参数构建_训练器构建_数据规整器构建---人工智能工作笔记0177

然后我们需要使用具有GPU的服务器,来运行下面的代码: <b>注意:</b> <ul> <li>以下的代码,都不要在Jupyter笔记上直接运行,会死机!!</li> <li>请下载左边的脚本`experiments/tiny/train.py`,在实验服务器上运行。</li> 1. 导…

c++中的指针

一、指针的基本概念 指针的作用&#xff1a;可以通过指针间接访问内存 内存编号是从0开始记录的&#xff0c;一般采用16进制数字表示。可以利用指针变量保存地址。 二、指针变量的定义和使用 指针变量定义语法&#xff1a; 数据类型 * 变量名 #include<iostream> u…

g 对象:Flask 应用中的“临时口袋”

文章目录 g对象的理解Flask 中的 g 对象g 对象的特点:使用 g 对象: 示例 g对象的理解 想象一下&#xff0c;你在逛超市。你需要一个购物篮来装你挑选的商品。这个购物篮就像 Flask 应用中的 g 对象&#xff0c;它是一个临时存放东西的地方&#xff0c;方便你在购物过程中随时取…

Mybatis之if标签判断boolean值

文章目录 一、普通的字符串类型判断空逻辑二、Boolean类型判断 一、普通的字符串类型判断空逻辑 <if test"query.activity ! null and query.activity ! ">AND extra.activity #{query.activity}</if>二、Boolean类型判断 <if test"!query.ori…

多组学+机器学习+膀胱癌+分型+建模

这是一个基于多组学机器学习的分型建模文章&#xff0c;这里我们大概介绍一下&#xff0c;这篇文章做了啥 一、研究背景 1、尿路上皮癌是高度恶性的肿瘤&#xff0c;预后差&#xff0c;死亡率高 2、没有明显有效的治疗方法&#xff0c;多数患者在免疫治疗中无法受益&#xf…

selenium显式等待

selenium显示等待 确保页面元素在特定条件下加载完毕后再执行后续操作。显示等待可以通过WebDriverWait类和ExpectedConditions类来实现。通过使用显示等待&#xff0c;可以避免在页面元素还未加载完毕时就进行操作&#xff0c;从而提高测试的稳定性和可靠性。 # 导包 from s…

SpringBoot Filter过滤器的使用篇

Filter生命周期 程序启动调用Filter的init()方法(永远只调用一次)&#xff1b;程序停止调用Filter的destroy()方法(永远只调用一次)&#xff1b;doFilter()方法每次的访问请求如果符合拦截条件都会调用(程序第一次运行&#xff0c;会在servlet调用init()方法以后调用&#xff…

【基于YOLOv8的教室人脸识别 附源码 数据集】

基于YOLOv8的教室人脸识别 附源码 数据集 在当今数字化迅速发展的教育领域中&#xff0c;人脸识别技术已成为提高校园安全和教学效率的关键工具。本文将详细介绍基于最新YOLOv8算法的教室人脸识别系统&#xff0c;这一系统不仅能够实时准确地识别学生和教职工的面部特征&#…

1小时学会SpringBoot3+Vue3前后端分离开发

首发于Enaium的个人博客 引言 大家可能刚学会Java和Vue之后都会想下一步是什么&#xff1f;那么就先把SpringBoot和Vue结合起来&#xff0c;做一个前后端分离的项目吧。 准备工作 首先你需要懂得Java和Vue的基础知识&#xff0c;环境这里就不多说了&#xff0c;直接开始。 …

switch语句深讲

一。功能 1.选择&#xff0c;由case N:完成 2.switch语句本身没有分支功能&#xff0c;分支功能由break完成 二。注意 1.switch语句如果不加break&#xff0c;在一次判断成功后会执行下面全部语句并跳过判断 2.switch的参数必须是整形或者是计算结果为整形的表达式,浮点数会…

JSON Web Tokens攻击漏洞手法

身份验证和授权是任何应用程序的关键组件。人们已经开发了各种标准和框架来促进此类组件的开发并使应用程序更加安全。其中&#xff0c;JSON Web Tokens (JWT) 多年来已成为流行的选择。 JSON Web 令牌是一种开放的行业标准 RFC 7519 方法&#xff0c;用于在两方之间安全地发送…