源码:https://gitee.com/qing11/learning-demo.git
1、父工程的pom.xml
在<dependencyManagement> 引入:
<!-- Spring Cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2、消费者引入pom.xml
订单服务引入:
<!--feign客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
3、订单服务的主函数添加注解:
@EnableFeignClients
4、订单服务创建feign包,这个包都写调用其他服务的接口
UserClients 接口:
package com.example.orderservice.feign;
import com.example.orderservice.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@Component
@FeignClient(value = "userservice")//userservice:用户服务的服务名称
public interface UserClients {
@GetMapping("/user/{id}")
User findById(@PathVariable("id") Long id);
}
5、订单服务的业务代码:
@Autowired
private UserClients userClients;
// 2.用Feign远程调用
User user = userClients.findById(order.getUserId());