● 定義服務(wù)接口 (該接口需單獨(dú)打包,在服務(wù)提供方和消費(fèi)方共享)
● 在服務(wù)提供方實(shí)現(xiàn)接口(對服務(wù)消費(fèi)方隱藏實(shí)現(xiàn))
● 用 Spring 配置聲明暴露服務(wù)
加載 Spring 配置(創(chuàng)建 bean)
● 新建 web 項(xiàng)目,命名:04-dubboProviderService
注意:
(1)選擇 Tomcat 作為服務(wù)器。
(2)生成 web.xml 文件。
● 導(dǎo)入 jar
dubbo.jar: Dubbo 框架的實(shí)現(xiàn)
javaassist-3.15.0-GA.jar:字節(jié)碼生成 jar
netty-3.2.5.Final.jar:網(wǎng)絡(luò)傳輸
spring-*.jar: Dubbo 是基于 spring 的。配置
● 定義表示天氣信息的對象 Weather
重寫的 toString()
不實(shí)現(xiàn) Serializable 接口的錯(cuò)誤提示:
● 定義服務(wù)的接口(面向接口編程)
● 定義天氣接口的實(shí)現(xiàn)類
包名 :package com.bjpowernode.service.provider
● 編寫 Spring 配置文件,Spring 作為容器管理對
第一步:加入:dubbo.xsd 約束文件
第二步:本機(jī)配置代碼提示:eclipse 菜單 Windows-→Preferences
第三步:聲明服務(wù)定義
dubbo:application:定義服務(wù)名稱,一般使用項(xiàng)目名。
dubbo:service:聲明服務(wù),暴露給消費(fèi)者使用。
bean:定義服務(wù)的實(shí)現(xiàn)類,提供服務(wù)的代碼實(shí)現(xiàn)。spring 中的標(biāo)簽
● 新建測試類:MyTest 測試配置文件,對象定義等是否正確。
● 修改 web.xml 文件,web 應(yīng)用中使用
服務(wù)提供者的功能實(shí)現(xiàn)完成。
● 導(dǎo)出服務(wù)接口
第一步:服務(wù)接口要給消費(fèi)者使用,需要把接口定義打成 jar .
第二步:導(dǎo)出接口
第三步:查看導(dǎo)出的 jar 文件
使用 winrar 等壓縮軟件查
服務(wù)消費(fèi)者
1、直接使用遠(yuǎn)程服務(wù)提供者對象
服務(wù)消費(fèi)者項(xiàng)目可以是 j2se, j2ee 等項(xiàng)目類型,使用服務(wù)。
服務(wù)消費(fèi)者開發(fā)步驟:
通過 Spring 配置引用遠(yuǎn)程服務(wù)
加載 Spring 配置,并調(diào)用遠(yuǎn)程服務(wù):(也可以使用 IoC 注入)
項(xiàng)目結(jié)構(gòu):
● 新建 java project ,命名 04-dubboConsume
● 導(dǎo)入
工程根目錄下,新建 libs,存放 jar。這個(gè)項(xiàng)目是非 web 應(yīng)用,不需要 spring-web.jar,
● 新建天氣信息類 Weacher,結(jié)構(gòu)同服務(wù)提供者項(xiàng)目中的 Weacher
可以拷貝服務(wù)提供者類中的 Weather, 或者服務(wù)提供者導(dǎo)出接口的同時(shí),把 Weather 類和接口一同導(dǎo)出到 dubbo-weather-provider.jar
重寫的 toString()
● 新建配置文件 dubbo-consume.xml
配置文件需要加入 spring 和 dubbo 的約束文件,同服務(wù)提供者的provider.xml 的操作方
● 測試訪問遠(yuǎn)程服
首先啟動(dòng),服務(wù)提供者。服務(wù)提供者 05-ProviderService 是 web 應(yīng)用發(fā)布到 tomcat 上運(yùn)行
加入:
輸出:
● 新建使用遠(yuǎn)程服務(wù)對象的 Service
● 修改 dubbo-consume.xml 聲明 ShowWeatherService 對象,注入服務(wù)提供者對象
● 測試類