Eureka(F版本)教程三 服务消费者(Feign)

avatar
作者
筋斗云
阅读量:0

4.0.0

com.loren

spring-cloud-demo

1.0-SNAPSHOT

com.loren

serice-feign

0.0.1-SNAPSHOT

serice-feign

jar

Demo project for Spring Boot

<java.version>1.8</java.version>

<spring-cloud.version>Greenwich.SR2</spring-cloud.version>

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-openfeign

org.springframework.boot

spring-boot-maven-plugin

在工程的配置文件application.yml文件,指定程序名为service-feign,端口号为8765,服务注册地址为http://localhost:8761/eureka/ ,代码如下:

eureka:

client:

serviceUrl:

defaultZone: http://localhost:8761/eureka/

server:

port: 8765

spring:

application:

name: service-feign

在程序的启动类ServiceFeignApplication ,加上@EnableFeignClients注解开启Feign的功能:

@SpringBootApplication

@EnableEurekaClient

@EnableDiscoveryClient

@EnableFeignClients

public class ServiceFeignApplication {

public static void main(String[] args) {

SpringApplication.run( ServiceFeignApplication.class, args );

}

}

定义一个feign接口,通过@ FeignClient(“服务名”),来指定调用哪个服务。比如在代码中调用了service-hi服务的“/hi”接口,代码如下:

package com.loren.sericefeign.feign;

import org.springframework.cloud.openfeign.FeignClient;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = “service-client”)

public interface SchedualServiceHi {

@RequestMapping(value = “/hi”,method = RequestMethod.GET)

String sayHiFromClientOne(@RequestParam(value = “name”) String name);

}

在Web层的controller层,对外暴露一个”/hi”的API接口,通过上面定义的Feign客户端SchedualServiceHi 来消费服务。代码如下:

package com.loren.sericefeign.controller;

import com.loren.sericefeign.feign.SchedualServiceHi;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestParam;

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

存中…(img-gYzZzM7i-1718695148716)]

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-fVRa8lvg-1718695148717)]

[外链图片转存中…(img-sNhXfb94-1718695148718)]

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!