Dubbo 3 Dubbo 快速入门 3.2 Dubbo 快速入门 3.2.3 服务消费者

news2024/9/28 11:19:35

Dubbo

【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】

3 Dubbo 快速入门

文章目录

      • Dubbo
      • 3 Dubbo 快速入门
        • 3.2 Dubbo 快速入门
          • 3.2.3 服务消费者

3.2 Dubbo 快速入门

3.2.3 服务消费者

OK,之前我们 已经完成了 服务提供 者的改造

在这里插入图片描述

现在来改造 服务的消费者 , 即 web 模块

上来直接把依赖 取消了 ,

在这里插入图片描述

当然现在 不要之后,很明显, 自动注入那儿 就会 报错了

在这里插入图片描述

因为已经找不到 这玩意儿 了

现在 来这个模块 里新建 一个 接口

package com.dingjiaxiong.service;

/**
 * ClassName: UserService
 * date: 2022/11/13 21:15
 *
 * @author DingJiaxiong
 */

public interface UserService {
    
    public String sayHello();
    
}

在这里插入图片描述

OK,现在 就有 了 ,现在 的这个 接口 就变成 “ 本地” 的接口 了

而且 在web 模块中,也已经加上 了对应的依赖

在这里插入图片描述

OK

在web.xml 中,把spring 配置的加载 干掉

在这里插入图片描述

现在 修改控制器

在这里插入图片描述

用这个 【远程注入的注解 】

这个注解 的作用:

  1. 从zookeeper 注册 中心获取userservice 的访问url

  2. 进行远程 调用【RPC】

  3. 将结果封装为 一个代理对象,给变量 赋值

同样的,总得告诉人家 zookeeper在哪儿 吧,所以要和 service 进行同样的 配置

直接抄过来

<!--  dubbo 的配置  -->
<!--  1 配置项目的名称【唯一】  -->
<dubbo:application name="dubbo-web"/>

<!--  2. 配置zookeeper【注册中心】 的地址  -->
<dubbo:registry address="zookeeper://xxxxxxxxxxx:2181"/>

<!--  3 配置Dubbo 的包扫描  -->
<dubbo:annotation package="com.dingjiaxiong.controller"/>

在这里插入图片描述

OK ,这样 【消费者】 就算是改造 完成 了

直接启动

在这里插入图片描述

OK, 两个 都跑起来 了

浏览器访问 测试

在这里插入图片描述

没毛病!

一样的 成功访问 了

看看控制台 的日志

在这里插入图片描述

一堆日志

在这里插入图片描述

和老师一样 ,有点小问题 ,qos 是用来做远程监控的一个组件,意思是它 不能绑到 22222

看看service 那边 的日志

在这里插入图片描述

可以看到 它已经绑上了 22222 端口,所以 web 那边儿 报错 了,但是这个不影响 咱们的业务

我们可以改下 web 那边的启动绑定 端口

在这里插入图片描述

OK,重启web 服务

在这里插入图片描述

OK,再试一次吧

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这次就肯定不会 报错了, 可以看到 绑 到 33333 上 了 【没毛病】

【现在 远程调用是实现了, 但是吧有个问题】

在这里插入图片描述

这两个 接口,一毛一样

如果将来 有一大堆 这种接口,而且有了 很多 的service 模块和 很多 的 web 模块,

如果是不同的开发团队来做

这下就很难 保证它们能够一致 了

所以将来的做法 是这样的

在这里插入图片描述

来一个 公共 接口

在这里插入图片描述

让 web 模块和service 模块 都依赖【maven 本地依赖】于 这个公共接口【模块】

OK,试试吧,再来一个 模块

在这里插入图片描述

直接创建

在这里插入图片描述

OK,相当于现在 把 那个接口抽出来

在这里插入图片描述

直接复制过来

现在就 可以把web 和 service 中的接口都删掉了

在这里插入图片描述

OK,删掉后,现在 要做的,唉,就是导入嘛

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实现类 里面 导一下包

在这里插入图片描述

controller 里面也要导一下包

修改一下

在这里插入图片描述

现在把interface 模块 安装

在这里插入图片描述

OK

OK,重启两个服务

在这里插入图片描述

没问题

浏览器测试

在这里插入图片描述

没毛病,其实吧,如果大家 都

在这里插入图片描述

先把 这个干完,听这些 就会非常轻松 了

OK,快速入门 就这样吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能电网中采用博弈论的方法(Python代码实现)

目录 1 概述 2 系统模型 2.1 单价模型 2.2 效用模型和 能源消费者&#xff08;EC&#xff09; 的目标 2.3 成本模型和 中央电站&#xff08;CPS&#xff09; 的目标 2.4 优化问题 3 优化的能源管理模型 4 模型的特性 4.1 均衡的存在 4.2 决策过程 5 算法 6 数值的…

vector详解(不定长数组)

目录 什么是vector vector的介绍 模板的声明方式 vector的基本操作 push_back insert erase 遍历vector 小明爱数列-练习题 思路 什么是vector vector的介绍 和我一样,我猜你们看到题目时心里都会产生一个疑问"什么是vector?(大佬除外)".vector其实是…

一起Talk Android吧(第四百四十四回:UI控件之DatePicker)

文章目录概念介绍使用方法内容总结各位看官们大家好&#xff0c;上一回中咱们说的例子是"UI控件之NumberPicker",这一回中说的例子是"UI控件之DatePicker"。闲话休提&#xff0c;言归正转&#xff0c;让我们一起Talk Android吧&#xff01; 概念介绍 看官…

CSS实现文字扫光特效

上大学的玩 ae 的时候&#xff0c;就曾遇到过这个特效。偶然在百度看到了类似特效&#xff0c;没想到竟然能用 css 实现&#xff0c;所以就研究了一下&#xff0c;文字扫光效果如下&#xff1a; 实现思路&#xff1a; 光效移动效果&#xff0c;可以通过 background-image 设置…

RCNN网络源码解读(Ⅲ) --- finetune训练过程

目录 0.回顾 1.finetune二分类代码解释&#xff08;finetune.py&#xff09; 1.1 load_data&#xff08;定义获取数据的方法&#xff09; 1.2 CustomFineTuneDataset类 1.3 custom_batch_sampler类&#xff08; custom_batch_sampler.py&#xff09; 1.4 训练train_mod…

JVM.......未完待续

一、了解 JVM JVM ( Java Virtual Machine )&#xff0c;又称之为 Java虚拟机。JVM 的运行与操作系统无关&#xff0c;能够实现跨平台&#xff0c;只要是安装了JVM的机器&#xff0c;都能运行Java程序&#xff0c;Java语言最重要的特点 "跨平台运行"&#xff0c;也…

关于应用形态数轴方法的一点展望

“既然目前物理化学关于物质世界的最高理论成果&#xff0c;即所谓由量子力学和统计力学组成的第一原理&#xff0c;只能求算物质无生命的性质&#xff0c;而药物设计关心的却是有生命的性质.那么是否第一原理对药物设计就无所作为呢&#xff1f;不是的.也就是说&#xff0c;尽…

设备资产管理系统有什么用?

在PC时代&#xff0c;电脑、打印设备的那个已经成为当代企业的必备资产&#xff0c;生产型企业还有生产设备等资产&#xff0c;企业规模越大资产就越多&#xff0c;就越难管理&#xff0c;因此设备资产管理系统成为诸多企业数字化管理的重要组成之一。设备管理系统的应用不仅能…

算法基础篇-10-动态规划

1. 简介 动态规划是一种算法思想&#xff1b; 动态规划递归式子问题 1.1 案例1&#xff1a; 斐波那契数列 斐波那契数列&#xff1a;FnFn-1Fn-2 代码演示&#xff1a; 使用递归和非递归的方法来求解斐波那契数列的第n项&#xff1b; 递归的方法&#xff1a; public static…

uniapp实战仿写网易云音乐(二)—视频页面(scroll-view组件实现横线滑动,mescroll-uni实现视频列表,向下滑动刷新当前页面)

文章目录前言顶部导航条的实现视频列表的展示部分CSS部分最后前言 接着上篇文章继续完成剩下的部分&#xff0c;本篇文章是完成第二个页面——视频页面的部分&#xff0c;视频还是没有做播放的效果&#xff0c;主要是做展示效果。下面附上两篇文章链接&#xff0c;没看过的同学…

【概率论】正态分布

前导知识&#xff1a; 概率密度函数&#xff08;密度函数&#xff09;&#xff1a;描述一个随机变量的在某个确定的取值点附近的可能性的函数。 随机变量的取值落在某个区域内的概率为概率密度函数在这个区域上的积分。 性质&#xff1a; f(x)>0 数学期望 又称均值&am…

vue组件

9.Vue组件 组件&#xff08;Component&#xff09;是 Vue.js 最强大的功能之一。 组件可以扩展 HTML 元素&#xff0c;封装可重用的代码。 组件系统让我们可以用独立可复用的小组件来构建大型应用&#xff0c;几乎任意类型的应用的界面都可以抽象为一个组件树&#xff1a; 9…

SpringBoot 自定义starter yaml提示失效问题

自定义starter yaml提示失效问题自定义starter yaml提示失效问题问题场景解决办法自定义starter yaml提示失效问题 问题场景 在自定义starter后&#xff0c;必不可少会有properties配置参数需要指定&#xff0c;而在有时又不知道为什么出现这个问题。官方 Configuration Meta…

玩以太坊链上项目的必备技能(OOP-抽象合约-Solidity之旅十)

抽象合约&#xff08;abstract contract&#xff09; 前文在讲合约继承的基类构造函数的参数时&#xff0c;有提到抽象合约&#xff0c;也就是说&#xff0c;如果派生合约未能给其继承的基合约指定构造函数参数时&#xff0c;那么&#xff0c;该派生合约必须声明为抽象合约&am…

ubuntu中安装tippecanoe并切片

概述 本文是一片”水文”&#xff0c;记录一下如何在ubuntu中用tippecanoe制作矢量切片。 实现操作 本示例中ubuntu是在VMware虚拟机中&#xff0c;安装的是18.04.6的版本&#xff0c;你可通过我兰的镜像下载&#xff0c;速度杠杠的。 1.安装git sudo apt install git2.cl…

探索SpringMVC-HandlerMapping之RequestMappingHandlerMapping

前言 上回我们知道HandlerMapping是用来寻找Handler的&#xff0c;并不与Handler的类型或者实现绑定&#xff0c;而是根据需要定义的。那么为什么要单独给RequestMapping实现一个HandlerMapping&#xff1f;这次咱们就来专门看看这个RequestMappingHandlerMapping。 RequestM…

Educational Codeforces Round 139 (Rated for Div. 2)(A~E)

A. Extremely Round 定义一个数中仅存在一位非0&#xff0c;它是extremely round&#xff0c;计算1~n中有几个满足条件的数。 思路&#xff1a;直接计算即可。 AC Code&#xff1a; #include <bits/stdc.h>typedef long long ll; const int N 1e5 5; int t, n;int c…

高手必备10大难题:Mysql如何实现RR级隔离时,不会幻读?

文章很长&#xff0c;而且持续更新&#xff0c;建议收藏起来&#xff0c;慢慢读&#xff01;疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 &#xff1a; 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

[2022-12-17]神经网络与深度学习第5章 - 循环神经网络(part 1)

contents循环神经网络 part 1 - RNN记忆能力实验写在开头循环神经网络的记忆能力实验数据集构建数据集构建函数数据集加载构建 Dataset类模型构建嵌入层SRN层自己实现torch框架实现比较线性层模型汇总模型训练训练指定长度的数字预测模型模型评价写在最后循环神经网络 part 1 -…

[机器人学习]-树莓派6R机械臂运动学分析

根据D-H表规定得到如下变换矩阵为&#xff1a; 由此可得机器人相邻两关节位姿分别为&#xff1a; 根据DH参数求解变换矩阵的函数trans&#xff1a; %输入JD&#xff0c;即6个关节变量的值&#xff0c;求解正运动方程 function [ T ] trans( theta, d, a, alpha ) T [ cos(th…