1.创建maven项目,详细请看
springboot整和ssm框架结构
2.在pom文件中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
3.主类中添加注解@EnableFeignClients
4.在ssm框架下的service中创建接口
@FeignClient(name="com-zxs-lrqw-ad",path = "/ad", fallback = HelloRemoteHystrix.class)
public interface HelloService {
@GetMapping(value = "/ad/gotos")
String logTest2(@RequestParam(value = "name") String name);
@GetMapping(value = "/user/find")
JoUser findById(@RequestParam(value = "email") String email);
}
1.@FeignClient(name=“com-zxs-lrqw-ad”,path = “/ad”)
(1)其中name是所要访问的项目生产者名字,一般在配置文件中有所指定。
(2)path 是指的访问的项目名称
(3) @GetMapping(value = “/ad/gotos”)是生产者中的接口访问地址
保持接口名称和参数一致
其中@RequestParam(value = “name”)这个参数前缀尤为注意,用来标识他的唯一行,方便在生产者中能到精准定位(4)注意返回值不能为void类型,因为从生产者中取回数据需要在消费者中显示。
5.写一个接口调用service中的方法
至此消费者调用单个生产者服务之间的调用完成。