改造 dubbo 项目
抽象分散在多个项目中的公共接口,实体类,异常,工具类到一个项目中,在其他项目如服务提供者,消费者共用公共的资源。
实现目标
用户访问电商网站浏览商品—选择商品购买
用户访问电商网站—查看用户信息(收件人地址)
项目是 web 应用,需要加入 spring web 开发jar:
maven 依赖
创建公共资源项目
服务提供者,消费者,网站等多个服务中共用,重复使用的类单独定义在一个项目.
A、 创建公共的 maven java project
项目名称:node-shop-interface 接口工程的Maven 坐标
B、复制之前的 Order 实体类、OrderService 业务接口到 node-shop-interface 项目,
C、 新建 Address 实体类
D、 新建 UserInfoService 接口
E、安装 jar 到 maven 仓库
使用 IDEA 的 maven 窗口执行 install
创建用户信息服务
A、 新建 web project
项目名称:node-shop-userservice
B、 maven pom.xml
在< build >
下的 < plugins>
标签中加入 JDK1.8 编译插件
C、 创建 UserInfoServiceImpl 实现类
D、 dubbo 配置文件
文件名称:userservice-provider.xml
E、web.xml 注册 spring 监听器
创建订单服务
A、 新建 web project
项目名称:node-shop-orderservice
B、 maven pom.xml
在< build>
下的 < plugins>
标签中加入 JDK1.8 编译插件
C、 创建 OrderService 接口实现类
D、 dubbo 配置文件
文件名称:dubbo-orderservice-provider.xml
E、web.xml 注册 spring 监听器
创建商品网站
F、新建 web project
项目名称:node-shop-web
G、 创建首页 index.jsp
页面代码:
js 代码
H、 maven pom.xml
在< build>
下的 < plugins>
标签中加入 JDK1.8 编译插件
I、 创建 Spring 配置文件
文件名称:dispatcherServlet.xml
J、 创建 dubbo 配置文件
文件名称:dubbo-shop-consumer.xml
K、 web.xml 注册中央调度器 DispatcherServlet
L、项目结构
M、 创建商品信息实体类 Goods
N、 创建接口 ShopService
O、 创建接口实现类 ShopServiceImpl
P、 创建类 ShopController
接收来自页面的请求,处理订单,查询地址信息。
Q、 view-order.jsp
显示订单信息页面:
R、 view-address.jsp
显示收件人地址信息
页面加入jstl:<%@ taglib uri="java.sun.com/jsp/jstl/co…" prefix="c" %>
使用 jstl 需要加入 jar:
dubbo 常用标签
Dubbo 中常用标签。分为三个类别:公用标签,服务提供者标签,服务消费者标签
公用标签
<dubbo:application/>
和 <dubbo:registry/>
A、配置应用信息
<dubbo:application name=”服务的名称”/>
B、配置注册中心
<dubbo:registry address=”ip:port” protocol=”协议”/>
服务提供者标签
配置暴露的服务
<dubbo:service interface=”服务接口名” ref=”服务实现对象 bean”>
服务消费者
配置服务消费者引用远程服务