1. 程式人生 > >01. dubbo拓展spring schema配置

01. dubbo拓展spring schema配置

一、什麼是spring schema配置

在講述dubbo的schema之前,首先需要了解spring的schema是什麼東西,我們經常在spring的xml配置檔案中使用的<bean></bean>和<property></property>等標籤,其實就是spring給我們定製的標籤,我們都知道對於單純的一個xml檔案,我們是可以隨意書寫內容,也可以隨意書寫自己的標籤的,那你任意寫的標籤,spring肯定是不能識別的,所以就需要有一定規約,來規定下這個配置檔案能有哪些標籤,每個標籤又有哪些屬性,而這個規約就是叫做spring的schema,像下面這樣,其實就是引入了spring的規約,這個規約檔案就是:

http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 其實,說白了,xsd檔案就是定義你這個xml可以有哪些元素,每個元素有哪些屬性,每個屬性是什麼資料型別,元素之間的順序又是怎樣的?等等出入此類的事情,可類比於定義一個java類及其屬性 注:關於xsd文件的知識可參考教程:http://www.w3school.com.cn/schema/schema_elements_ref.asp

2、dubbo的規約檔案dubbo.xsd

注:本系列的內容是基於 Apache Dubbo  2.7.0-SNAPSHOT 版本來說明的 既然spring都有自己的規約檔案,那dubbo如果要想實現這種配置,肯定也要有自己的規約檔案,:

http://dubbo.apache.org/schema/dubbo/dubbo.xsd 開啟這個檔案就會看到類似下面的這些內容了

有了這個檔案,我們就可以在spring的配置檔案中使用duubo自己的標籤來進行配置了,如:<dubbo:service>、<dubbo:refrence>、<dubbo:registry>等標籤

其實也不單單是dubbo,其他的如mybatis、activemq等等,都也有自己的約束檔案。

        既然dubbo已經有了自己的規約檔案,那麼它又是如何和spring的配置檔案結合在一起,讓spring容器啟動的時候可以正確解析它自定義的標籤,然後生成相關的java bean呢?接著看下一章節再說