Dubbo:自测自拟项目搭建consumer

创建maven项目之consumer,同创建provider一样。 

pom添加:

先创建接口:

写实现: 

写实现逻辑:

package com.testDubo.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.testDubo.service.UserService;
import com.testDubo.service.UserServiceConsumer;
/**
 * 服务消费者代码
 * 不考虑Dubbo技术问题,只考虑当前对象在spring容易中的管理问题
 * @author Administrator
 *
 */
@Service //用spring的注解
public class UserServiceConsumerImpl implements UserServiceConsumer {

	//需要通过spring注入,注入的是接口的代理对象,由接口+订阅的服务信息+JDK的proxyy实现。
	//动态代理对象的具体创建逻辑由Dubbo技术提供
	//dubbo技术提供了reference注解,替代后续定义的标签,有代码冲突。
	@Autowired
	private UserService userService; //调用provider的实现
	
	public void register(String name, String password) {

		//具体逻辑由provider提供
		System.out.println("cousumer调用provider的register...");
		//调用Provider代码,需要定义属性,提供对象引用
		userService.register(name, password);//调用provider的实现
	}

	public void login(String name, String password) {

		System.out.println("consumer调用provider的login...");
		userService.login(name, password);//调用provider的实现
	}

}

然后配置文件:

resource目录下创建spring目录

代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
        
        <!-- 1.配置dubbo的应用名称-->
        <dubbo:application name="test-consumer-001"/>
        <!-- 2.配置dubbo的注册中心-->
        <dubbo:registry address ="192.168.1.28:2181" protocol="zookeeper" />
        <!-- 3.配置dubbo的订阅服务内容,要订阅哪一个接口服务信息
       			 consumer不需要定义协议,因为协议信息由服务的提供者定义。
       			 reference - 引用,是要订阅注册中心中的服务信息。
       			 订阅成功后,在spring容器中,依赖容易和dubbo技术,创建代理对象。
       			 创建的代理对象命名为id属性值。建议id属性值命名和consumer中引用的属性名称一致。
       			 interface - 要订阅的具体的服务接口命名,就是provider发布的服务接口命名。
        -->
        <dubbo:reference interface="com.testDubo.service.UserService" id="userService" />
        
        
        <!-- 配置扫描spring注解 -->
        <context:component-scan base-package="com.testDubo.service"></context:component-scan>
        

</beans>

写测试:

 

生产者消费者同时打印: 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值