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 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
21 9
|
22天前
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
33 9
|
21天前
|
JSON Java 数据格式
【微服务】SpringCloud之Feign远程调用
本文介绍了使用Feign作为HTTP客户端替代RestTemplate进行远程调用的优势及具体使用方法。Feign通过声明式接口简化了HTTP请求的发送,提高了代码的可读性和维护性。文章详细描述了Feign的搭建步骤,包括引入依赖、添加注解、编写FeignClient接口和调用代码,并提供了自定义配置的示例,如修改日志级别等。
48 1
|
23天前
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
19 1
|
2月前
|
Java 数据库连接 数据库
spring复习05,spring整合mybatis,声明式事务
这篇文章详细介绍了如何在Spring框架中整合MyBatis以及如何配置声明式事务。主要内容包括:在Maven项目中添加依赖、创建实体类和Mapper接口、配置MyBatis核心配置文件和映射文件、配置数据源、创建sqlSessionFactory和sqlSessionTemplate、实现Mapper接口、配置声明式事务以及测试使用。此外,还解释了声明式事务的传播行为、隔离级别、只读提示和事务超时期间等概念。
spring复习05,spring整合mybatis,声明式事务
|
28天前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
52 2
|
28天前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
48 1
|
28天前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
19 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
28天前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
21 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
28天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
47 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
下一篇
无影云桌面