作用:方便快捷的实现各个服务之间的调用
1、引入依赖
<!--引入feign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、在启动类上加入注解(@EnableFeignClients)
package cn.itcast;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableFeignClients
@SpringCloudApplication
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class);
}
}
3、编写一个借口,在接口上用SpringMVC的方式告诉它请求方式、请求名称等信息,并且用(@FeignClient("服务名称"))注解告诉它服务名称
package cn.itcast.consumer.client;
import cn.itcast.consumer.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient("user-service")
public interface UserClient {
@GetMapping("user/{id}")
User queryUserById(@PathVariable("id") Long id);
}
4、在使用类中如调用本项目中的类的方法相同,自动注入并使用
@Autowired
private UserClient userClient;
public User queryUserById(@PathVariable("id") Long id) {
return userClient.queryUserById(id);
}