dubbo 无注册中心 通过url直接调用

1、依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.9</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>dyc</artifactId><version>0.0.1-SNAPSHOT</version><name>dyc</name><description>Demo project for Spring Boot</description><properties><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency><!-- 工具类 hutool --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.14</version></dependency><!-- apache 集合工具类 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.4</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-core</artifactId><version>3.3.5</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http</artifactId><version>3.3.5</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http-jetty</artifactId><version>3.3.5</version></dependency><!-- 添加 CXF --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-spring-boot-starter-jaxws</artifactId><version>3.3.5</version><exclusions><exclusion><groupId>javax.validation</groupId><artifactId>validation-api</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.6.2</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><!--        <dependency>-->
<!--            <groupId>mysql</groupId>-->
<!--            <artifactId>mysql-connector-java</artifactId>-->
<!--        </dependency>--><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>19.7.0.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>provided</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

2、生产者

UserService 

public interface UserService {public String sayHello(String name);
}

UserServiceImpl

package com.example.dyc.mydubbo;public class UserServiceImpl implements UserService{@Overridepublic String sayHello(String name) {System.out.println("hello:"+name);return "hello:"+name;}}

provider.xml

<?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:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识--><dubbo:application name="zhouzyProvider" owner="zzy" organization="dubbox"/><!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper N/A表示不开启zookeeper--><dubbo:registry address="N/A"/><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20880" /><!--使用 dubbo 协议实现定义好的 api.PermissionService 接口--><dubbo:service interface="com.example.dyc.mydubbo.UserService" ref="userService" protocol="dubbo" /><!--具体实现该接口的 bean--><bean id="userService" class="com.example.dyc.mydubbo.UserServiceImpl"/>
</beans>

启动类

package com.example.dyc.mydubbo;import org.springframework.context.support.ClassPathXmlApplicationContext;/*** Unit test for simple App.*/
public class ProviderTest {public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml");context.start();System.out.println("dubbo服务提供端已启动....");try {System.in.read();} catch (Exception e) {e.printStackTrace();}}
}

3、消费者

consumer.xml

<?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:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><dubbo:application name="zhouzyConsumer" owner="zzy" organization="dubbox"/><!--使用 dubbo 协议调用定义好的 api.PermissionService 接口--><dubbo:reference id="userService" interface="com.example.dyc.mydubbo.UserService" url="dubbo://127.0.0.1:20880"/>
</beans>

启动类

package com.example.dyc.mydubbo;import org.springframework.context.support.ClassPathXmlApplicationContext;public class ConsumerTest{public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "consumer.xml" );context.start();System.out.println("dubbo服务消费端已启动...");UserService userService = (UserService)context.getBean( "userService" );// 获取远程服务代理String hello = userService.sayHello( "张三" );//执行远程方法System.out.println(hello);//显示调用结果try {System.in.read();} catch (Exception e) {e.printStackTrace();}}}

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

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

相关文章

消息回复及时,客户不流失!这个微信自动回复设置快快码住!

你是不是也遇到过由于回复不及时&#xff0c;导致客户流失的情况发生&#xff1f;或是好友申请太多&#xff0c;来不及通过&#xff1f; 别担心&#xff0c;试试个微管理系统&#xff0c;让你实现自动回复&#xff0c;提高回复效率&#xff01; 1、自动通过好友 当有新的好友…

SpringBootTest测试框架二

sql的mock 注入sql的拦截器,对查询语句拦截,按规则访问本地路径的文件,实现mock功能。 @Intercepts(value = {@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}),@Signature(type = Executor.class, method =…

Suricata-入门实验-快速理解suricata

实验环境&#xff1a; 主机win10 ip地址&#xff1a;192.168.121.1 虚拟机使用vm ubuntu20.04 ip地址&#xff1a;192.168.121.128 实验目标&#xff1a; 从主机 给虚拟机 发送ping 命令 虚拟机中Suricata接收到ping后发出告警信息。 正文 在前面 编译好Suricata后&#x…

postman调用Grpc

环境&#xff1a; .net6.0 一、准备 安装nuget&#xff1a; Grpc.AspNetCore Google.Protobuf Grpc.Core.Api Grpc.Tools Grpc.AspNetCore.Server.Reflection Program.cs&#xff1a; public class Program{public static void Main(string[] args){var builder WebApplicat…

报名倒计时!「飞天技术沙龙-CentOS 迁移替换专场」参会指南

为帮助广大用户诊断 CentOS 迁移替换过程中的疑难杂症&#xff0c;「飞天技术沙龙-CentOS 迁移替换专场」将于 5 月 29 日&#xff08;周三&#xff09;在北京举办&#xff0c;将围绕如何在确保服务的连续性和稳定性的前提下实现平滑迁移及如何最大限度地利用现有资源前提下确保…

App Inventor 2 Encrypt.Security 安全性扩展:MD5哈希,SHA/AES/RSA/BASE64

这是关于App Inventor和Thunkable安全性的扩展&#xff0c;它提供MD5哈希&#xff0c;SHA1和SHA256哈希&#xff0c;AES加密/解密&#xff0c;RSA加密/解密&#xff0c;BASE64编码/解码方法。 权限 此扩展程序不需要任何权限。 事件 OnErrorOccured 抛出任何异常时将触发此事件…

前端 CSS 经典:图片边框

前言&#xff1a;有这么一个业务&#xff0c;需要边框随着图片宽度的变化而变化&#xff0c;比如一些聊天的气泡框等。 实现原理&#xff1a;使用 border-image 属性 效果图&#xff1a; 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"><he…

【区块链】caliper压力测试

本文上接postman接口测试 参照工程项目使用Caliper测试工具对食品安全溯源系统智能合约生成新食品(newFood)功能进行压力测试 首先启动webase python3 deploy.py startAll vim /opt/bencahmark/caliper-benchmark/networks/fisco-bcos/test-nw/fisco-bcos.json 命令便捷查…

书籍龙与地下城游戏问题(4)0527

题目&#xff1a; 给定一个二维数组map。含义是一张地图&#xff0c;例如&#xff0c;如下矩阵&#xff1a; -2 -3 3 -5 -10 1 0 30 -5 游戏的规则如下&#xff1a; 骑士从左上角出发&#xff0c;每次只能向右或向下走&#xf…

Web3 游戏周报(5.19 - 5.25)

【5.19 - 5.25】Web3 游戏行业动态&#xff1a; Arbitrum 已开启 “2 亿枚 ARB 游戏催化剂计划”的提案投票。 STEPN 在官方 X 宣布将推出全新社交健身应用 STEPN GO。 Oasys 正式推出《足球小将》漫改 Web3 游戏《Captain Tsubasa-RIVALS-》。 Gala Games &#xff1a;已销…

❤职场小心得❤

在职场中&#xff0c;我深刻地认识到了沟通与合作的重要性。在团队中&#xff0c;每个人都有自己的专业知识和技能&#xff0c;只有通过良好的沟通和合作&#xff0c;才能将每个人的优势结合起来&#xff0c;共同完成任务。 首先&#xff0c;沟通是职场中不可或缺的能力。有效的…

华为交换机基础实验----VLAN基础

交换机篇实验&#xff1a; 给交换机创建VLAN 1.单个VLAN的创建 [S]vlan 10 查看的方法&#xff1a;dis vlan 2.批量创建vlan的方法 Vlan b 20 30 40 连续创建三个vlan&#xff0c;分别为vlan20 vlan30和vlan40 [SONY-S1-vlan10]vlan b 20 30 40 3.批量创建连续的vlan&#xf…

React的生命周期总结

React组件的生命周期可以概述为几个关键阶段&#xff1a;挂载&#xff08;Mounting&#xff09;、更新&#xff08;Updating&#xff09;、卸载&#xff08;Unmounting&#xff09;&#xff0c;以及错误处理。随着React的发展&#xff0c;特别是引入Hooks之后&#xff0c;经典类…

Vue3的watch监视

watch watch用于观察和响应组件中数据变化。 在Vue 3中&#xff0c;watch属性不仅可以用于监视Vue实例数据的变化&#xff0c;并在数据发生变化时执行相应的操作&#xff1b;并且可以在监视数据变化的同时&#xff0c;在变化时执行回调函数&#xff0c;从而实现对数据的监听和…

【Qt Creator】跨平台的C++图形用户界面应用程序开发框架---QT

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1.互联网的核心岗位以及职…

宝塔下新增站点 No Input File Specified.错误修复

今天明月收到了一个购买【站长必备在线工具源码含上百款工具-博客优化修复版】用户的求助&#xff0c;在宝塔里新增网站部署好工具源码后&#xff0c;访问出现“No input file specified.”的提示。其实出现这个提示一般都是 PHP 文件无法被解析造成的。 简单排查了一下宝塔相关…

MySQL数据库语法(二)

一、数据库的创建 创建数据库CRATE DATABASE语法&#xff1a;CREATE DATABASE [IF NOT EXISTS]数据库名;功能&#xff1a;用给定的名字创建一个数据库如果数据库已经存在&#xff0c;发生一个错误。查看创建数据库&#xff1a;SHOW CREATE DATABASE <数据库名>&#xff…

疯狂“造人”!美国两党共推新法案,5年培养100万AI及量子人才

当前&#xff0c;全球量子计算人才的短缺已成为制约该领域快速发展的关键瓶颈。 为了解决量子计算人才短缺的问题&#xff0c;各国政府和企业采取了积极措施&#xff0c;加大了对量子教育和培训的投入。根据美国参议院官网消息&#xff0c;2024年5月23日&#xff0c;美国两党议…

Java原生JDBC概览

Java原生JDBC概览 一、是什么&#xff1f; JDBC是Java DataBase Connectivity的缩写&#xff0c;它是Java程序访问数据库的标准接口。 Java代码并不是直接通过TCP连接去访问数据库&#xff0c;而是通过JDBC接口来访问&#xff0c;而JDBC接口则通过JDBC驱动来实现对数据库的访…

【算法】位运算——常见位运算基础操作总结

位运算基础操作总结&#xff0c;包括基础运算符 修改某位bit位 目录 1.基础位运算符2.按位基础操作1.给一个数 n&#xff0c;确定其二进制的第 x 位是 0/12.将一个数 n 的二进制标识的第 x 位修改成 13.将一个数 n 的二进制标识的第 x 位修改成 04.提取一个数 n 二进制中最右侧…