直连方式 dubbo
前置要求: 统一jdk版本,web.xml的版本必须是3.0以上,实体bean类必须实现序列化接口,dubbo只支持序列化的bean对象
测试要求: 必须先启动提供者服务,在启动消费者服务
目录结构:首先创建两个web工程,一个提供者,一个消费者,然后创建一个普通的java工程intaerface
inferface工程:
目录结构:

1、创建实体bean,编写service接口
package com.GLH.dubbo.model;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
package com.GLH.dubbo.service;
import com.GLH.dubbo.model.User;
public interface UserService {
/**
* @return 放回一个字符串
*
*
* */
String sayHello();
/**
* @param id 根据这个值查询对象
* @return 根据id返回一个user对象
*
* */
User queryUserById(int id);
}
2、 打包到本地maven仓库
提供者peovider:
目录结构

1、编写maven依赖:
导入interface工程的依赖
导入dubbo依赖
导入spring和springmvc依赖
2、编写service实现类
可以使用注解创建bean,扫描包,或者使用配置文件创建bean
package com.GLH.dubbo.service.impl;
import com.GLH.dubbo.model.User;
import com.GLH.dubbo.service.UserService;
public class UserServiceImpl implements UserService {
@Override
public String sayHello() {
return "hello dubbo";
}
@Override
public User queryUserById(int id) {
User user = new User();
user.setId(id);
user.setName("zhang"+id);
user.setAge(10+id);
return user;
}
}
3、编写dubbo配置文件:
存放在类路径下
编写内容:
1、声明dubbo服务提供者的名称,保证其唯一性
2、指定协议和端口,推荐使用dubbo协议端口默认为208880
3、创建实体bean交给spring的ioc容器管理

4、暴露服务接口

属性解析:
interface 依赖接口工程的接口类路径
ref 提供者工程中的实现类bean对象
registry 使用直连的方式连接,值默认为N/A

4、编写web.xml
1、编写context-param 加载dubbo的配置文件
2、编写监听器

消费者工程consumer:
1、编写maven依赖:
导入interface工程的依赖
导入dubbo依赖
导入spring和springmvc依赖
2、编写webcontroller类:
1、调用提供者接口实现类,在webcontroller类中添加userservice属性并添加自动注入注解
2、编写controller平时编写的业务

3、编写springmvc配置文件
1、配置包扫描
2、配置视图解析器

4、编写dubbo配置文件
1、声明服务消费者的名称,保证他的唯一性
2、引用远程调用接口

属性解析:
id:为提供者工程spring容器管理的bean
interface:接口工程的接口类路径
registy: 直连方式
url: 调用远程接口服务的url地址
5、编写web.xml配置文件
1、编写dispatchservlet
这里初始化加载文件的时候,要加载dubbo的配置文件和springmvc的配置文件

测试
编写两个tomcat配置启动,注意端口号不能重复
http端口和jmx的端口不能重复
1、启动提供者服务
2、启动消费者服务
3、测试业务是否能够正常访问消费者服务的方法
3、ssm使用注册中心-Zookeeper
项目结构大致一样
dubbo的配置文件做出一点改变就行
提供者:
<!-- 声明服务提供者名称,保证其唯一性-->
<dubbo:application name="zk-provider"/>
<!--配置服务端口-->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 指定注册中心-->
<dubbo:registry address="zookeeper://192.168.2.10:2181" check="false"/>
<!-- 暴露服务-->
<dubbo:service interface="com.GLH.dubbo.service.UserService" ref="userService"/>
<!-- 创建实体bean-->
<bean id="userService" class="com.GLH.dubbo.service.impl.UserServiceImpl"/>
消费者
<!-- 声明服务消费者名称-->
<dubbo:application name="zk-consumer"/>
<!--指定注册中心-->
<dubbo:registry address="zookeeper://192.168.2.10:2181"/>
<!-- 引用远程接口服务-->
<dubbo:reference id="userService" interface="com.GLH.dubbo.service.UserService"/>

浙公网安备 33010602011771号