● 定义服务接口 (该接口需单独打包,在服务提供方和消费方共享)
● 在服务提供方实现接口(对服务消费方隐藏实现)
● 用 Spring 配置声明暴露服务
加载 Spring 配置(创建 bean)
● 新建 web 项目,命名:04-dubboProviderService
注意:
(1)选择 Tomcat 作为服务器。
(2)生成 web.xml 文件。
● 导入 jar
dubbo.jar: Dubbo 框架的实现
javaassist-3.15.0-GA.jar:字节码生成 jar
netty-3.2.5.Final.jar:网络传输
spring-*.jar: Dubbo 是基于 spring 的。配置
● 定义表示天气信息的对象 Weather
重写的 toString()
不实现 Serializable 接口的错误提示:
● 定义服务的接口(面向接口编程)
● 定义天气接口的实现类
包名 :package com.bjpowernode.service.provider
● 编写 Spring 配置文件,Spring 作为容器管理对
第一步:加入:dubbo.xsd 约束文件
第二步:本机配置代码提示:eclipse 菜单 Windows-→Preferences
第三步:声明服务定义
dubbo:application:定义服务名称,一般使用项目名。
dubbo:service:声明服务,暴露给消费者使用。
bean:定义服务的实现类,提供服务的代码实现。spring 中的标签
● 新建测试类:MyTest 测试配置文件,对象定义等是否正确。
● 修改 web.xml 文件,web 应用中使用
服务提供者的功能实现完成。
● 导出服务接口
第一步:服务接口要给消费者使用,需要把接口定义打成 jar .
第二步:导出接口
第三步:查看导出的 jar 文件
使用 winrar 等压缩软件查
服务消费者
1、直接使用远程服务提供者对象
服务消费者项目可以是 j2se, j2ee 等项目类型,使用服务。
服务消费者开发步骤:
通过 Spring 配置引用远程服务
加载 Spring 配置,并调用远程服务:(也可以使用 IoC 注入)
项目结构:
● 新建 java project ,命名 04-dubboConsume
● 导入
工程根目录下,新建 libs,存放 jar。这个项目是非 web 应用,不需要 spring-web.jar,
● 新建天气信息类 Weacher,结构同服务提供者项目中的 Weacher
可以拷贝服务提供者类中的 Weather, 或者服务提供者导出接口的同时,把 Weather 类和接口一同导出到 dubbo-weather-provider.jar
重写的 toString()
● 新建配置文件 dubbo-consume.xml
配置文件需要加入 spring 和 dubbo 的约束文件,同服务提供者的provider.xml 的操作方
● 测试访问远程服
首先启动,服务提供者。服务提供者 05-ProviderService 是 web 应用发布到 tomcat 上运行
加入:
输出:
● 新建使用远程服务对象的 Service
● 修改 dubbo-consume.xml 声明 ShowWeatherService 对象,注入服务提供者对象
● 测试类