Spring Cloud 声明式调用客户端 Feign| 学习笔记

简介: 快速学习 Spring Cloud 声明式调用客户端 Feign。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 Spring Cloud 声明式调用客户端 Feign】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/60/detail/1087


Spring Cloud 声明式调用客户端 Feign

——分布式架构的又一巅峰

 

目录:

一、Spring Cloud 调用方 Feign

二、版本选择

三、执行过程

 

一、 Spring Cloud 调用方 Feign

Feign 主要是快速调用 API 调用工作,将代码大大地简化,微服务框架本身的设计思想简化微服务,开发工程师的工作,随版本的升高,可使用的插件也越来越多,功能越来越强大。

1.调用方,简化微服务 API 调用

2. Feign 是一种声明式、模板化的  HTTP 客户端

3.简化 Http 客户端开发

4.只需要创建一个接口+@注解

5.Feign 注解和 JAX-RS 注解。

6.Feign 支持可插拔的编码器和解码器

7.Feign 默认集成了 Ribbon,并和 Eureka 结合

8.Eclipse 或者 IDEA 实战

总结:

Spring Cloud 的生态变得越来越丰富,越来越强大,利于我们做微服务架构的多样化的设计落地。

 

二、版本选择

1.打开 New Spring starter Proleet Depredencles 页面,

2.选择版本8 和2.3.7  

3.勾选 Spring Boot DevTooh、Spring wWeb、openFeigns、 Eureka Dincorwery Clle 四个选项——Next——Finish。

不需要使用特别新的版本,因为大部分的企业因为资金的问题很难会使用特别新的版本,跟上互联网公司的程度则不需使用高版本

 

三、执行过程

配置文件作为一个调用端,与微服务调用端基本相同,则可以复制微服务调用端的配置。

项目改为 FeignClient

(1)waweassprinoecleud00000cFeigrClieneD emoApp lincati on jwvea com alibaba 界面中:

1spring.application. name=FeignClient

2 server.port=9001

3eureka.client.service-url.defaultzonemhttp:/ /localhost:8761/eureka/

4 eureka.client.fetch-registry=true

5 eureka.client.register-with-eurekamtrue

声明客户端的接口,order-microservice,注意大小写,注册中心中就是大写,匹配唯一的服务即接口地址偏移需要匹配 

(2)在 veaSprimgClousc0000OCderMivcrove rice Demo [boot]ldev tools] 界面:

1<?xml version="1.0" encoding="UTF-8"?>

2owiwranluhumswtiw.2=<project xminsn"http://maven.apache .org/PON/4.0.0"xmIns:xsl "http:/

3xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

4xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 5https ://mav

6xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

7xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

8xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

9xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

10xsi:schemaLocationn "http://maven.apache.org/PON/4.0.0 https ://mav

11c/pament>

12<artifact1d>JavaSpringcloud8008e00rderMicroserviceDemoc/ artifact.;

13cversion>0.8.1-SNAPSHOT</verslon>

14ononn DIsly Hy wmrowo p-i

15Mwin thyn auouns Stnsta loplw Lsw cn 4h oum w ont=-haag

16ianeny Hs

微服务也属于分布式架构更高级更复杂的阶段,实际代理对象通过底层查找,保证注册中心正常,过程需要体验化掌握,不要只懂得概念

(3)e OderPeosey jaea 界面中:

1package com.alibaba;

2

3import org.springframework. boot.SpringApplication;

5

6 @SpringBootApplication

7public class JavaSpringCloudo00808EurekaDemoApplication {

8

9SpringApplication.run( JavaSpringCloudeoeo0eEurekaDemoApplicat

10SpringApplication.run( JavaSpringCloudeoeo0eEurekaDemoApplicat

自动装配,主要通过代理对象来调用远程微服务,本地是 9001test,逐渐套用,微服务也属于 RPC,9001test 用浏览器测试,微服务项目逐渐复杂,多样化。

(4)Jawreahpring Cihoudoooooc EureiaDemot pp licaticnsirva 界面中:

1 package com.alibaba;

2

3-import org.springframework.boot.SpringApplication;

6

7 @EnableEurekaServer

8 @SpringBootApplication

9 publicclassJavaSpringCloudo00008Eureka DemoApplication {

10

11public static void main(String[]args) {

12SpringApplication.run( JavaSpringCioude000o0EurekaDemoApplicat

13}

14} 

先上线微服务,再提供调用端,开发调用(Service)行业上线后,才能被消费者们使用,注册中心中的服务要大写,匹配的服务名是固定的,且服务名不要重复

服务行业例如按摩、修脚、剃头、理发、餐饮、娱乐等。

相关文章
|
2天前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
16天前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
38 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
25天前
|
缓存 前端开发 JavaScript
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
这篇文章介绍了一个使用SpringBoot+Vue开发的前后端分离商城系统,包括技术架构、开发环境、实现的功能以及项目截图,并展示了普通用户和商家端的功能界面。
前后端分离 SpringBoot+Vue商城买卖系统通杀版本。大家可以参考学习一下
|
30天前
|
XML Java 数据库
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
这篇文章是Spring5框架的实战教程,详细介绍了事务的概念、ACID特性、事务操作的场景,并通过实际的银行转账示例,演示了Spring框架中声明式事务管理的实现,包括使用注解和XML配置两种方式,以及如何配置事务参数来控制事务的行为。
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
|
2月前
|
Java 数据格式 微服务
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
📚 《滚雪球学Spring Boot》是由CSDN博主bug菌创作的全面Spring Boot教程。作者是全栈开发专家,在多个技术社区如CSDN、掘金、InfoQ、51CTO等担任博客专家,并拥有超过20万的全网粉丝。该教程分为入门篇和进阶篇,每篇包含详细的教学步骤,涵盖Spring Boot的基础和高级主题。
168 4
2024最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
|
2月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线学习过程管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
22天前
|
Java 开发工具 Spring
【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达
【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达
|
2月前
|
安全 Java 数据库
三更草堂 Spring Security学习总结(思路整理)
Spring Security学习总结(思路整理)
|
24天前
|
设计模式 Java 程序员
学习 Spring 源码的意义是什么呢?
研究Spring源码能深化框架理解,提升代码分析与设计能力,助您掌握设计模式及最佳实践,增强解决问题的效率,促进职业生涯发展,并激发技术热情。选择稳定版本,从核心模块开始,结合实际项目并参与社区,让学习之旅既充实又具乐趣。
|
2月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的大学生国学自主学习平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的大学生国学自主学习平台的详细设计和实现(源码+lw+部署文档+讲解等)