四、SpringCloud的学习之feign服务间的调用讲解

一、背景

1.Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。

2.简而言之

2.1.Feign 采用的是基于接口的注解

2.2.Feign 整合了ribbon

3.我自己理解的就是服务与服务之间的调用用到的是feign,下面我就通过一个具体的小案例来讲解这个feign.

二、项目结构

四、SpringCloud的学习之feign服务间的调用讲解_第1张图片

三、项目中的各个配置

1.pom.xml



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		1.5.2.RELEASE
		 
	
	com.example
	demo-serviceorder-fegin
	0.0.1-SNAPSHOT
	demo-serviceorder-fegin
	Demo project for Spring Boot

	
		UTF-8
		UTF-8
		1.8
	

	
		
			org.springframework.cloud
			spring-cloud-starter-eureka
		
		
			org.springframework.cloud
			spring-cloud-starter-ribbon
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.cloud
			spring-cloud-starter-feign
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Dalston.RC1
				pom
				import
			
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

	
		
			spring-milestones
			Spring Milestones
			https://repo.spring.io/milestone
			
				false
			
		
	

2.controller

@RestController
public class FeignMemberController {
	@Autowired
	private MemberFeign memberFeign;

	@RequestMapping("/getFeignOrderByUserList")
	public List getFeignOrderByUserList() {
		return memberFeign.getOrderByUserList();
	}
}

3.service

@FeignClient("demo-service-member")
public interface MemberFeign {
	@RequestMapping("/getMemberAll")
	public List getOrderByUserList();
}

4.application.yml

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8888/eureka/
server:
  port: 8765
spring:
  application:
    name: demo-serviceorder-feign

4.启动类

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class DemoServiceorderFeginApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoServiceorderFeginApplication.class, args);
	}

}

5.分别依次启动项目Eurka、项目demo-service-member、项目demo-serviceorder-feign、具体哪个项目可以参看我前一个博客:https://blog.csdn.net/chenmingxu438521/article/details/90514885

四、效果图

1.Eureka注册中心

四、SpringCloud的学习之feign服务间的调用讲解_第2张图片

2.服务间调用的结果数据

四、SpringCloud的学习之feign服务间的调用讲解_第3张图片

五、总结

希望能帮到你们,下几篇讲解,熔断,晚安,各位!!!

 

你可能感兴趣的:(springcloud)