Dubbo實(shí)戰(zhàn)入門講解-Dubbo框架(下篇)

改造 dubbo?項(xiàng)目
抽象分散在多個(gè)項(xiàng)目中的公共接口,實(shí)體類,異常,工具類到一個(gè)項(xiàng)目中,在其他項(xiàng)目如服務(wù)提供者,消費(fèi)者共用公共的資源。
實(shí)現(xiàn)目標(biāo)
用戶訪問(wèn)電商網(wǎng)站瀏覽商品—選擇商品購(gòu)買
用戶訪問(wèn)電商網(wǎng)站—查看用戶信息(收件人地址)

項(xiàng)目是 web 應(yīng)用,需要加入 spring web 開發(fā)jar:
maven 依賴

創(chuàng)建公共資源項(xiàng)目
服務(wù)提供者,消費(fèi)者,網(wǎng)站等多個(gè)服務(wù)中共用,重復(fù)使用的類單獨(dú)定義在一個(gè)項(xiàng)目.
A、 創(chuàng)建公共的 maven java project
項(xiàng)目名稱:node-shop-interface 接口工程的Maven 坐標(biāo)

復(fù)制之前的 Order 實(shí)體類、OrderService 業(yè)務(wù)接口到 node-shop-interface 項(xiàng)目,

C、 新建?Address?實(shí)體類

D、 新建?UserInfoService?接口

E、安裝 jar 到 maven 倉(cāng)庫(kù)
使用 IDEA 的 maven 窗口執(zhí)行 install
創(chuàng)建用戶信息服務(wù)
A、 新建 web project
項(xiàng)目名稱:node-shop-userservice
B、 maven?pom.xml


在<build> 下的 <plugins>標(biāo)簽中加入 JDK1.8 編譯插件

C、 創(chuàng)建?UserInfoServiceImpl?實(shí)現(xiàn)類

D、 dubbo?配置文件
文件名稱:userservice-provider.xml

E、web.xml 注冊(cè) spring 監(jiān)聽器

創(chuàng)建訂單服務(wù)
A、 新建?web?project
項(xiàng)目名稱:node-shop-orderservice
B、 maven?pom.xml


在<build> 下的 <plugins>標(biāo)簽中加入 JDK1.8 編譯插件

C、 創(chuàng)建?OrderService?接口實(shí)現(xiàn)類

D、 dubbo?配置文件
文件名稱:dubbo-orderservice-provider.xml

E、web.xml 注冊(cè) spring 監(jiān)聽器

創(chuàng)建商品網(wǎng)站
F、新建 web project
項(xiàng)目名稱:node-shop-web
G、 創(chuàng)建首頁(yè)?index.jsp

頁(yè)面代碼:



js 代碼

H、 maven?pom.xml


在<build> 下的 <plugins>標(biāo)簽中加入 JDK1.8 編譯插件

I、 創(chuàng)建 Spring 配置文件
文件名稱:dispatcherServlet.xml

J、 創(chuàng)建 dubbo 配置文件
文件名稱:dubbo-shop-consumer.xml

K、 web.xml?注冊(cè)中央調(diào)度器?DispatcherServlet

L、項(xiàng)目結(jié)構(gòu)

M、 創(chuàng)建商品信息實(shí)體類?Goods

N、 創(chuàng)建接口?ShopService

O、 創(chuàng)建接口實(shí)現(xiàn)類?ShopServiceImpl

P、 創(chuàng)建類?ShopController
接收來(lái)自頁(yè)面的請(qǐng)求,處理訂單,查詢地址信息。

Q、 view-order.jsp
顯示訂單信息頁(yè)面:

R、 view-address.jsp
顯示收件人地址信息
頁(yè)面加入jstl:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
使用 jstl 需要加入 jar:



dubbo?常用標(biāo)簽
Dubbo 中常用標(biāo)簽。分為三個(gè)類別:公用標(biāo)簽,服務(wù)提供者標(biāo)簽,服務(wù)消費(fèi)者標(biāo)簽
公用標(biāo)簽
<dubbo:application/> 和 <dubbo:registry/>
A、配置應(yīng)用信息
<dubbo:application name=”服務(wù)的名稱”/>
B、配置注冊(cè)中心
<dubbo:registry address=”ip:port” protocol=”協(xié)議”/>
服務(wù)提供者標(biāo)簽
配置暴露的服務(wù)
<dubbo:service interface=”服務(wù)接口名” ref=”服務(wù)實(shí)現(xiàn)對(duì)象 bean”>
服務(wù)消費(fèi)者
配置服務(wù)消費(fèi)者引用遠(yuǎn)程服務(wù)
<dubbo:reference id=”服務(wù)引用 bean 的 id” interface=”服務(wù)接口名”/>
如果想深入學(xué)習(xí)Dubbo,UP奉上Dubbo視頻教程,視頻學(xué)習(xí)效果更佳,走過(guò)路過(guò)別忘素質(zhì)三連哦~~

