dubbo用於傳輸數據的bean必須有空構造器的原因

dubbo的消費者調用遠程的服務提供者方法時,返回結果是已字節流的形式進行返回的,dubbo框架會對返回的字節流進行分析和封裝,最終
返回實體對象。封裝過程大致如下:
1、獲取封裝對象的Class字節碼對象,取得該類最少參數的構造方法。

2、針對該構造方法所需參數,製造僞參數。所謂僞參數,就是對於int、boolean等基本類型,給0、false等默認值,對於對象類型,統一給null。

3、通過該構造方法,參入僞參數進行生成實體對象。

4、解析字節流對象,將對應的數據set到生成的實體對象中。

通過以上封裝過程,可知是先生成封裝對象,然後再一一進行賦值,故提供的構造方法非常重要,如果在構造方法裏做業務處理,很可能
因爲傳入的參數都是僞數據,導致業務處理失敗,程序報錯。故建議凡是用作dubbo進行傳輸的對象,都提供一個空參的默認構造方法,並且
該構造方法裏不做任何的業務操作。
發佈了48 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章