欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > javascript >内容正文

javascript

springcloud教程-凯发k8官方网

发布时间:2025/1/21 javascript 17 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 springcloud教程- 服务消费者(feign)(springcloud版本finchley) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 一、feign简介
    • 二、 环境准备
    • 三、创建基于feign服务
      • 定义启动类
      • pom文件配置
      • 配置文件application.yml
      • 定义一个feign接口
      • 定义一个controller

前言:上篇文章讲述了如何通过resttemplate ribbon去消费服务,这篇文章主要讲述如何使用feign去消费服务

代码地址:github-spring-cloud地址

一、feign简介

feign是netflix开发的声明式、模板化的http客户端, feign可以帮助我们更快捷、优雅地调用http api。在spring cloud中,使用feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。feign支持多种注解,例如feign自带的注解或者jax-rs注解等。feign默认集成了ribbon,并和eureka结合,默认实现了负载均衡的效果。

总结:

  • feign 采用的是基于接口的注解
  • feign 整合了ribbon

二、 环境准备

使用上一章功能启动eureka-server 和eureka-hello

三、创建基于feign服务

定义启动类

注解@enablefeignclients表明通过feign方式调用服务

@springbootapplication @enablediscoveryclient @enablefeignclients public class servicefeignapplication {public static void main(string[] args) {springapplication.run(servicefeignapplication.class, args);}}

pom文件配置

<?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0"xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactid>spring-cloud-learn</artifactid><groupid>com.sl.learn.cloud</groupid><version>1.0-snapshot</version><relativepath>..</relativepath></parent><modelversion>4.0.0</modelversion><groupid>com.sl.learn.cloud</groupid><artifactid>eureka-feign</artifactid><version>1.0-snapshot</version><dependencies><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-starter-netflix-eureka-client</artifactid></dependency><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-starter-openfeign</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-actuator</artifactid></dependency></dependencies></project>

注意springcloud版本为finchley,feign版本用的是
spring-cloud-starter-openfeign

配置文件application.yml

server:port: 8086spring:application:name: eureka-feigneureka:client:serviceurl:defaultzone: http://localhost:8080/eureka/management:endpoints:web:exposure:include: '*'endpoint:health:show-details: alwaysshutdown:enabled: true

定义一个feign接口

通过@ feignclient(“服务名”),来指定调用哪个服务

@feignclient("eureka-hello") public interface feignservice {@requestmapping(value = "/hi",method = requestmethod.get)string sayhifromclientone(@requestparam(value = "name") string name); }

定义一个controller

在web层的controller层,对外暴露一个"/hi"的api接口,通过上面定义的feign客户端schedualservicehi 来消费服务

@restcontroller public class feigncontroller {@autowiredfeignservice feignservice;@requestmapping(value = "/hi",method = requestmethod.get)public string feign(@requestparam(value = "name") string name) {return feignservice.sayhifromclientone(name);} } 与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是凯发k8官方网为你收集整理的springcloud教程- 服务消费者(feign)(springcloud版本finchley)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图