公司或者企業(yè)有很多的服務(wù),這些服務(wù)有不同的部門,不同的人員管理,維護(hù)。例如公司做生活服務(wù)類業(yè)務(wù)的,提供類似 58 同城的業(yè)務(wù)。其中公共服務(wù)部門負(fù)責(zé)提供天氣資訊和影視資訊兩個內(nèi)容。A 小組兩個人負(fù)責(zé)天氣資訊;B 小組三個人負(fù)責(zé)影視資訊。現(xiàn)在需要在公司的網(wǎng)站同時提供兩種資訊。你作為網(wǎng)站開發(fā)人員需要使用 A 和 B 兩個小組不同服務(wù)內(nèi)容。使用 A 組,B 組的兩個服務(wù)提供者接口。
圖一:
公司使用 Dubbo 管理服務(wù),A 組,B 組分別各自服務(wù)的接口的 jar 包。比如 A-Weather.jar , B-Movie.jar . 網(wǎng)站的開發(fā)人員需要同時維護(hù)兩個 jar。任何一個有改動,都需要做調(diào)整代碼。
圖二:
現(xiàn)在只要使用公共服務(wù)部門提供的一個服務(wù)接口 jar 包就可以了。
A、新建 Java Project 項目:05-ProviderInteface
Java 項目,只定義接口,無需導(dǎo)入 jar。
B、 新建天氣信息的數(shù)據(jù)類 Weatche
重寫的 toString()
C、 新建天氣服務(wù)接
D、新建影視信息的數(shù)據(jù)類 Movie
重新 toString()
E、 新建影視服務(wù)接口
F、 導(dǎo)出包含所有接口的
導(dǎo)出 jar,選擇 eclipse 菜單 File ---- >
G、查看導(dǎo)出的 jar 內(nèi)
A、新建 web 工程 05-ProviderInterfaceImpl,生成 web.xml
項目結(jié)構(gòu):
B、 導(dǎo)入 dubbo,spring,服務(wù)接口的 jar
C、 新建實現(xiàn) WeatherService 接口的實現(xiàn)類
D、新建實現(xiàn) MovieService 接口的實現(xiàn)類
E、 新建 spring 配置文件 dubbo-provider.xml
F、 修改 web.xml,增加 ContextLoaderListener 監(jiān)聽器
A、新建 Java Project:05-ConsumeService
項目結(jié)構(gòu):
B、 導(dǎo)入 dubbo,spring,服務(wù)提供者接口 jar
C、 新建 spring 配置文件 dubbo-consume.xml
D、定義訪問服務(wù)的測試類