最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot?內(nèi)部服務(wù)調(diào)用方式

 更新時(shí)間:2022年03月14日 17:28:10   作者:Kings菜鳥  
這篇文章主要介紹了Springboot?內(nèi)部服務(wù)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Eureka注冊(cè)的服務(wù)之間互相調(diào)用

1.請(qǐng)求方

啟動(dòng)類添加注解,掃描Eureka 中的全部服務(wù)

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class LoginServiceApplication {?? ?
? ? public static void main(String[] args) {
? ? ? ? new SpringApplicationBuilder(LoginServiceApplication.class).web(true).run(args);
? ? }? ??
}

pom.xml 添加包 (版本號(hào) 根據(jù)實(shí)際選擇)

<dependency>
? ? <groupId>org.springframework.cloud</groupId>
? ? <artifactId>spring-cloud-starter-feign</artifactId>
?? ?<version>1.4.6.RELEASE</version>
</dependency>

創(chuàng)建接口類

@FeignClient(name="hello-service") //spring service name
public interface FeignVehicle {
?? ?
?? ?@RequestMapping(value="/hello", method = RequestMethod.GET)
?? ?@ResponseBody
?? ?public List<Map> hello(@RequestParam Map<String,String> params);
}

實(shí)現(xiàn)類注入此接口類

@Autowired
FeignVehicle feignVehicle;

使用的時(shí)候直接按照正常調(diào)用方式即可

Map<String,String> map = new HashMap<String, String>();
feignVehicle.hello(map);

跨服務(wù)調(diào)用的時(shí)候出現(xiàn)token信息取不到,在發(fā)送方添加攔截器

@Configuration
public class FeignConfiguration {
?
? ? @Bean
? ? public RequestInterceptor requestInterceptor() {
? ? ? ? return new RequestInterceptor() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void apply(RequestTemplate template) {?
? ? ? ? ? ? ? ? ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
? ? ? ? ? ? ? ? ? ? ? ? .getRequestAttributes();
? ? ? ? ? ? ? ? HttpServletRequest request = attributes.getRequest(); ?//當(dāng)前服務(wù)token
?
? ? ? ? ? ? ? ? template.header("Authorization","Bearer " + request.getSession().getId()); //template 接收請(qǐng)求方token
? ? ? ? ? ? }?
? ? ? ? };
? ? }
}

2.接收方

請(qǐng)求 啟動(dòng)類

@SpringBootApplication
@EnableEurekaClient
public class HelloServiceApplication {?? ?
? ? public static void main(String[] args) {
? ? ? ? new SpringApplicationBuilder(HelloServiceApplication.class).web(true).run(args);
? ? }? ??
}

請(qǐng)求Controller

@Controller
@RequestMapping("/hello")
public class HelloController {?? ?
? ? @RequestMapping(value="/hello",method = RequestMethod.GET)
? ? @ResponseBody
? ? public List<Map> hello(@RequestParam Map<String, String> queryParam) {
? ? ? ? return null; ?
? ? }
}

多模塊化,服務(wù)間調(diào)用的坑

問題背景

  • product 服務(wù)作為服務(wù)端,提供了一個(gè) 對(duì)外通信Fegin接口 ProductClient,放在了com.imooc.product.client jar包下
  • order 服務(wù)作為客戶端,直接引用上面的jar,使用 ProductClient ,啟動(dòng)主類后報(bào)下圖錯(cuò)誤:

解決辦法

多模塊化時(shí),應(yīng)該在order主類上添加下面圈出來的注解,這樣啟動(dòng)后就能掃描這個(gè)包。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java使用計(jì)算md5校驗(yàn)碼方式比較兩個(gè)文件是否相同

    java使用計(jì)算md5校驗(yàn)碼方式比較兩個(gè)文件是否相同

    MD5文件效驗(yàn)碼是一個(gè)判斷文件是否是相同文件的途徑,通過比較兩個(gè)文件的Md5效驗(yàn)碼是否相同來精確判斷兩個(gè)文件是否相同
    2014-04-04
  • Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理功能

    Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理功能

    Liquibase 是一個(gè)強(qiáng)大的數(shù)據(jù)庫管理工具,它幫助你通過自動(dòng)化管理數(shù)據(jù)庫的變更、版本控制、和回滾,簡化了開發(fā)中的數(shù)據(jù)庫遷移工作,這篇文章主要介紹了Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫管理,需要的朋友可以參考下
    2024-12-12
  • Java實(shí)現(xiàn)簡易俄羅斯方塊

    Java實(shí)現(xiàn)簡易俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡易俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • java基于OpenGL ES實(shí)現(xiàn)渲染實(shí)例

    java基于OpenGL ES實(shí)現(xiàn)渲染實(shí)例

    這篇文章主要介紹了java基于OpenGL ES實(shí)現(xiàn)渲染,實(shí)例分析了OpenGL渲染操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • selenium4.0版本在springboot中的使用問題的坑

    selenium4.0版本在springboot中的使用問題的坑

    本文主要介紹了selenium4.0版本在springboot中的使用問題的坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式

    使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式

    這篇文章主要介紹了使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 詳解Java內(nèi)存泄露的示例代碼

    詳解Java內(nèi)存泄露的示例代碼

    這篇文章通過一個(gè)Demo來簡要介紹下ThreadLocal和ClassLoader導(dǎo)致內(nèi)存泄露最終OutOfMemory的場景。下面通過示例代碼給大家分享Java內(nèi)存泄露的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2017-12-12
  • Java中token的存儲(chǔ)和獲取實(shí)例代碼

    Java中token的存儲(chǔ)和獲取實(shí)例代碼

    關(guān)于java獲取微信Token驗(yàn)證的問題相信很多人都遇見過,尤其是對(duì)剛接觸微信開發(fā)的人來說確實(shí)有點(diǎn)棘手,下面這篇文章主要給大家介紹了關(guān)于Java中token存儲(chǔ)和獲取的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Spring Boot使用模板引擎JSP實(shí)例解析

    Spring Boot使用模板引擎JSP實(shí)例解析

    這篇文章主要介紹了Spring Boot使用模板引擎JSP實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • MyBatis寫入Json字段以及Json字段轉(zhuǎn)對(duì)象示例詳解

    MyBatis寫入Json字段以及Json字段轉(zhuǎn)對(duì)象示例詳解

    這篇文章主要給大家介紹了關(guān)于MyBatis寫入Json字段以及Json字段轉(zhuǎn)對(duì)象的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

定州市| 织金县| 永州市| 镇安县| 隆安县| 浦江县| 天全县| 罗山县| 蒙阴县| 安庆市| 南乐县| 张掖市| 伽师县| 大新县| 调兵山市| 高雄市| 颍上县| 顺平县| 会宁县| 河南省| 会同县| 普定县| 长阳| 新宁县| 赤城县| 于都县| 金昌市| 康保县| 碌曲县| 金湖县| 郑州市| 南昌市| 黄山市| 遂昌县| 昌邑市| 青河县| 定兴县| 页游| 扎兰屯市| 宁夏| 灵宝市|