讀懂Dubbo原始碼必備知識點之一

2021-08-01 22:56:37 字數 1560 閱讀 6739

最近新來的同事對dubbo原理不太熟悉,特此寫幾篇文章,介紹如何分析dubbo原始碼,要看懂dubbo原始碼,還是要先弄懂幾個知識點的,spring的schema自定義擴充套件功能就是其中要掌握的知識點之一;

dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。

這裡就要先說一下spring的schema自定義擴充套件的功能了,了解spring的人都會知道,spring配置檔案中有很多標定義如:,我們在配置bean時,按照bean語法規則配置即可,spring就能解析這個元素,原理呢這裡不在詳述, 本文重介紹,在dubbo中是如何應用spring提供了的schema擴充套件機制的,spring是如何識別,,,等使用者自定義的xml標籤元素的.

如果讓spring識別自動義xml標籤,需要我們自己實現以下幾步:

自定義 xsd schema 檔案;

編寫乙個我們自己的 bean;

繼承namespacehandlersupport 重寫init()方法,這塊方法作用是spring容器載入入口;

繼承abstractsinglebeandefinitionparser類,重寫getbeanclass,doparse方法, 這是解析xml元素的實現類;

新建meta-inf目錄,建立spring.handlers,spring.schemas兩個檔案,這兩個檔案的作用就是讓spring知道,怎麼解析使用者自定義的元素,用什麼去解析這些元素;

下面是實現的例子:

1.serviceconfig.xsd

<?xml version="1.0" encoding="utf-8" standalone="no" ?>

ip埠

zepto原始碼知識點

記錄看原始碼時候不太了解的知識點 matchesselector element.matches element.webkitmatchesselector element.mozmatchesselector element.omatchesselector element.matchessele...

JFinal 原始碼知識點

1 jfinal中自帶json工具類,沒必要匯入其他的轉化包。使用 setattr status success renderjson 會將所有setattr 的,轉化成json格式。2 kit包中定義了一些工具類的擴充套件 例如 1 轉化json的工具 jsonkit.tojson str 2 加...

Dubbo知識點梳理

dubbo是阿里的乙個產品。是乙個分布式 高效能 透明化的rpc服務框架,提供服務自動註冊 自動發現等高效服務治理方案。dubbo是實現soa架構時常用的服務之一,除了dubbo外還有如下可供選擇 製作相容jdk1.8的dubbo admin 實現soa架構時常用的服務 dubbo作為服務 webs...