当前位置:
凯发k8官方网 >
前端技术
> javascript
>内容正文
javascript
springcloud教程-凯发k8官方网
凯发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)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 如何让idea启动多个springboo
- 下一篇: springcloud教程- 断路器(h