SpringCloud一個模塊調(diào)用另一個模塊的服務(wù)實現(xiàn)過程
更新時間:2026年06月02日 14:04:28 作者:快起來寫bug了
SpringCloud服務(wù)調(diào)用詳解與Hystrix熔斷機制介紹,通過創(chuàng)建接口和添加依賴實現(xiàn)不同模塊間的服務(wù)調(diào)用,并探討了Hystrix在處理容錯和熔斷中的應(yīng)用
SpringCloud一個模塊調(diào)用另一個模塊的服務(wù)
簡介
基于SpringCloud框架搭建的項目,不同模塊之間是無法調(diào)用各自的服務(wù)的,但是經(jīng)常我們需要使用這樣的模式去開發(fā),那么如何實現(xiàn)不同模塊之間的服務(wù)調(diào)用呢?
準備
1.在需要調(diào)用其他模塊服務(wù)的項目中創(chuàng)建一個package包,里面定義三個類,如下圖:
在要調(diào)用別的模塊的模塊加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
在啟動類添加注解
@EnableFeignClients //啟用Feign客戶端
package com.yuwan.qiniuvideo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients//啟用Feign客戶端
public class VideoApplication {
@Bean
@LoadBalanced//對restTemplate進行負載均衡
public RestTemplate restTemplate () {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(VideoApplication.class, args);
}
}
創(chuàng)建接口
MemberClient:
package com.yuwan.qiniuvideo.client;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name="member")//book 是service id指明調(diào)用的是book這個服務(wù)里的接口,再往后所有有關(guān)book服務(wù)的接口調(diào)用都在這里面寫
/*Feign 默認就有支持Ribbon 負載均衡,我們只需要不熟多個book微服務(wù)就可以了,客戶端可以自動輪詢選擇調(diào)用*/
public interface MemberClient {
@GetMapping("/selectMemberInfo")
public RestResult getInfo(@RequestParam("id") Long id);
//如果是 postmapping 的話接受參數(shù) 就是用@Requestbody 用map 接參 (@Requestbody Map reqest)
}
然后在控制層創(chuàng)建MemberClient就可以調(diào)用了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud基本Rest微服務(wù)工程搭建過程
這篇文章主要介紹了SpringCloud基本Rest微服務(wù)工程搭建,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Java利用ElasticSearch實現(xiàn)自動補全功能
這篇文章主要為大家詳細介紹了Java如何利用ElasticSearch實現(xiàn)跟谷歌和百度類似的下拉補全提示功能,文中的示例代碼講解詳細,需要的可以參考一下2023-08-08

