公司或者企業(yè)有很多的服務(wù),這些服務(wù)有不同的部門(mén),不同的人員管理,維護(hù)。例如公司做生活服務(wù)類(lèi)業(yè)務(wù)的,提供類(lèi)似 58 同城的業(yè)務(wù)。其中公共服務(wù)部門(mén)負(fù)責(zé)提供天氣資訊和影視資訊兩個(gè)內(nèi)容。A 小組兩個(gè)人負(fù)責(zé)天氣資訊;B 小組三個(gè)人負(fù)責(zé)影視資訊。現(xiàn)在需要在公司的網(wǎng)站同時(shí)提供兩種資訊。你作為網(wǎng)站開(kāi)發(fā)人員需要使用 A 和 B 兩個(gè)小組不同服務(wù)內(nèi)容。使用 A 組,B 組的兩個(gè)服務(wù)提供者接口。
圖一:

公司使用 Dubbo 管理服務(wù),A 組,B 組分別各自服務(wù)的接口的 jar 包。比如 A-Weather.jar , B-Movie.jar . 網(wǎng)站的開(kāi)發(fā)人員需要同時(shí)維護(hù)兩個(gè) jar。任何一個(gè)有改動(dòng),都需要做調(diào)整代碼。
圖二:

現(xiàn)在只要使用公共服務(wù)部門(mén)提供的一個(gè)服務(wù)接口 jar 包就可以了。
A、新建 Java Project 項(xiàng)目:05-ProviderInteface
Java 項(xiàng)目,只定義接口,無(wú)需導(dǎo)入 jar。
B、 新建天氣信息的數(shù)據(jù)類(lèi) Weatche

重寫(xiě)的 toString()

C、 新建天氣服務(wù)接

D、新建影視信息的數(shù)據(jù)類(lèi) Movie

重新 toString()

E、 新建影視服務(wù)接口

F、 導(dǎo)出包含所有接口的
導(dǎo)出 jar,選擇 eclipse 菜單 File ---- >

G、查看導(dǎo)出的 jar 內(nèi)

A、新建 web 工程 05-ProviderInterfaceImpl,生成 web.xml
項(xiàng)目結(jié)構(gòu):

B、 導(dǎo)入 dubbo,spring,服務(wù)接口的 jar

C、 新建實(shí)現(xiàn) WeatherService 接口的實(shí)現(xiàn)類(lèi)

D、新建實(shí)現(xiàn) MovieService 接口的實(shí)現(xiàn)類(lèi)

E、 新建 spring 配置文件 dubbo-provider.xml

F、 修改 web.xml,增加 ContextLoaderListener 監(jiān)聽(tīng)器

A、新建 Java Project:05-ConsumeService
項(xiàng)目結(jié)構(gòu):

B、 導(dǎo)入 dubbo,spring,服務(wù)提供者接口 jar

C、 新建 spring 配置文件 dubbo-consume.xml

D、定義訪(fǎng)問(wèn)服務(wù)的測(cè)試類(lèi)

