真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

值得收藏的SpringBoot實(shí)用的小技巧-創(chuàng)新互聯(lián)

前言

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元臨漳做網(wǎng)站,已為上家服務(wù),為臨漳各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

最近分享的一些源碼、框架設(shè)計(jì)的東西。我發(fā)現(xiàn)大家熱情不是特別高,想想大多數(shù)應(yīng)該還是正兒八經(jīng)寫代碼的居多;這次就分享一點(diǎn)接地氣的: SpringBoot 使用中的一些小技巧。

算不上多高大上的東西,但都還挺有用。

屏蔽外部依賴

第一個(gè)是屏蔽外部依賴,什么意思呢?

比如大家日常開發(fā)時(shí)候有沒有這樣的煩惱:

項(xiàng)目是基于 SpringCloud 或者是 dubbo 這樣的分布式服務(wù),你需要依賴許多基礎(chǔ)服務(wù)。

比如說某個(gè)訂單號(hào)的生成、獲取用戶信息等。

由于服務(wù)拆分,這些功能都是在其他應(yīng)用中以接口的形式提供,單測還好我還可以利用 Mock 把它屏蔽掉。

但如果自己想把應(yīng)用啟動(dòng)起來同時(shí)把自己相關(guān)的代碼跑一遍呢?

通常有幾種做法:


•本地把所有的服務(wù)都啟動(dòng)起來。
•把注冊中心換為開發(fā)環(huán)境,依賴開發(fā)環(huán)境的服務(wù)。
•直接把代碼推送到開發(fā)環(huán)境自測。

看起來三種都可以,以前我也是這么干的。但還是有幾個(gè)小問題:


•本地啟動(dòng)有可能服務(wù)很多,全部起來電腦能不能撐住還兩說,萬一服務(wù)有問題就進(jìn)行不下去了。
•依賴開發(fā)環(huán)境的前提是網(wǎng)絡(luò)打通,還有一個(gè)問題就是開發(fā)環(huán)境代碼很不穩(wěn)定很大可能會(huì)影響你的測試。
•推送到開發(fā)環(huán)境應(yīng)該是比較靠譜的方案,但如果想調(diào)試只有日志大法,沒有本地 debug 的效率高效。

那如何解決問題呢?既可以在本地調(diào)試也不用啟動(dòng)其他服務(wù)。

其實(shí)也可以利用單測的做法,把其他外部依賴 Mock 掉就行了。

大致的流程分為以下幾步:


•SpringBoot 啟動(dòng)之后在 Spring 中找出你需要屏蔽的那個(gè) API 的 bean(通常情況下這個(gè)接口都是交給 Spring 管理的)。
•手動(dòng)從 bean 容器中刪除該 bean。
•重新創(chuàng)建一個(gè)該 API 的對象,只不過是通過 Mock 出來的。
•再手動(dòng)注冊進(jìn) bean 容器中。

以下面這段代碼為例:


 @Override
 public BaseResponse getUserByHystrix(@RequestBody UserReqVO userReqVO) {

  OrderNoReqVO vo = new OrderNoReqVO();
  vo.setAppId(123L);
  vo.setReqNo(userReqVO.getReqNo());
  BaseResponse orderNo = orderServiceClient.getOrderNo(vo);
  return orderNo;
 }

網(wǎng)站名稱:值得收藏的SpringBoot實(shí)用的小技巧-創(chuàng)新互聯(lián)
文章源于:http://weahome.cn/article/hescd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部