Spring基础环境搭建

创建一个父工程springdubbo,3个子工程分别为服务端provider,客户端consumer
,接口api
选择都选择maven quickstart即可

在main目录下面创建resources文件夹,并且让idea识别,选择中右击:
在这里插入图片描述
给父工程添加依赖,这样provider和consumer最为子项目都可以依赖,由于pom文件中的依赖子项目都需要,因此,吧依赖都添加到父工程的pom文件中。

<dependencies><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.9</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.9</version><type>pom</type></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.6.Final</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.21.0-GA</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- spring相关jar --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.3.3.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>

服务端provider配置如下:
创建配置文件
applicationContext-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:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="provider"/><!--使用zookeeper进行注册中心化--><dubbo:registry address="zookeeper://localhost:2181"/><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo" port="20880"/><!-- 和本地bean一样实现服务 --><bean id="serviceAPI" class="com.gblfy.dubbo.api.impl.ServiceAPIImpl"/><!-- 声明需要暴露的服务接口 --><dubbo:serviceinterface="com.gblfy.dubbo.api.ServiceAPI"ref="serviceAPI"/>
</beans>

创建一个接口实现类

public class ServiceAPIImpl implements ServiceAPI {@Overridepublic String sendMessage(String message) {return "quickstart-provider-message="+message;}
}

创建一个客户端

public class ProvierClient {/*** 1.读取配置文件* 2.创建ioc容器* 3.堵塞(状态停留,输入停止,不输入就状态一直保留)** @param args*/public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-provider.xml");context.start();try {System.in.read(); // 按任意键退出} catch (IOException e) {e.printStackTrace();}}
}

依赖

<dependency><groupId>com.gblfy.dubbo</groupId><artifactId>api</artifactId><version>1.0-SNAPSHOT</version></dependency>

客户端配置:
applicationContext-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:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --><dubbo:application name="consumer-of-helloworld-app"  /><!-- 用zookeeper进行注册中心化 --><dubbo:registry address="zookeeper://localhost:2181"/><!-- 生成远程服务代理,可以和本地bean一样使用demoService --><dubbo:referenceid="consumerService"interface="com.gblfy.dubbo.api.ServiceAPI"/></beans>

客户端

public class ConsumerClient {public static void main(String[] args) {ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("applicationContext-consumer.xml");context.start();while (true){Scanner scanner = new Scanner(System.in);String message = scanner.next();//获取接口//从spring容器中,把实现类读出来 bean idServiceAPI serviceAPI = (ServiceAPI) context.getBean("consumerService");//message 是上面的//客户端发送消息--->>>服务端接收消息--->>>处理后,将结果返回--->>>客户端System.out.println(serviceAPI.sendMessage(message));}}
}

依赖

 <dependency><groupId>com.gblfy.dubbo</groupId><artifactId>api</artifactId><version>1.0-SNAPSHOT</version></dependency>

启动zookeeper、服务端,客户端即可测试

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

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

相关文章

VMware vSphere 6.0 虚拟机运维常见问题排除

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;当您将VMware vSphere 6.0虚拟化平台架构中的vCenter、ESXi主机、Data Center、群集完…

Windows下Zookeeper启动zkServer.cmd闪退问题的解决方案

本人今天在使用RPC的过程中使用Zookeeper作为中间节点服务器。在windows中启动Zookeeper 在windows启动Zookeeper双击zkServer.cmd&#xff08;但是需要保证安装了java环境&#xff09; 但是我单击启动的时候闪退&#xff1a;原因可以找到&#xff0c;编辑工具打开zkServer.c…

2019 年 Q1 全球云基础设施市场份额揭晓,AWS继续领跑市场;Mesos官方回应Twitter“抛弃”Mesos……...

戳蓝字“CSDN云计算”关注我们哦&#xff01;重磅先知 2019 年 Q1 全球云基础设施市场份额揭晓Mesos官方回应Twitter“抛弃”Mesos国内唯一&#xff0c;阿里云论文连续两年入选国际数据库顶级会议SIGMOD甲骨文中国研发中心大裁员&#xff1a;离职赔偿N6重磅快报2019 年 Q1 全球…

微电台│Get产品信息管理指南,和客户谈一场全渠道恋爱!

戳蓝字“CSDN云计算”关注我们哦&#xff01;▷ Informatica微电台004期 ◁楼下小谭撩数据&#xff08;隔壁的老王已经回到隔壁啦~&#xff09;如何使用产品信息管理与客户谈一场全渠道的恋爱&#xff1f;▼莫文蔚的阴天&#xff0c;孙燕姿的雨天&#xff0c;周杰伦的晴天都不如…

漫话:如何给女朋友解释灭霸的指响并不是真随机消灭半数宇宙人口的?

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;周末&#xff0c;陪女朋友去电影院看了《复仇者联盟4&#xff1a;终局之战》&#xff…

plsql常用快捷键

路径&#xff1a; D:\software\PLSQL Developer\PlugIns\shortcuts.txtplsql使用技巧 1、类SQL PLUS窗口:File->New->Command Window&#xff0c;这个类似于oracle的客户端工具sql plus&#xff0c;但比它好用多了。 2、设置关键字自动大写:Tools->Preferences->…

数据库不适合上容器云?| 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;Docker 在企业环境的应用端具有很大的潜力&#xff0c;在这一点上我想大家是有目共睹的…

【Git】fatal: bad boolean config value ‘true~‘ for ‘core.longpaths‘

windwos操作系统git config设置错了参数值&#xff0c;解决方法。 出现原因 在拉取代码时&#xff0c;仓库中存在文件名过长得文件&#xff0c;拉取报错了“filename too long” 解决 git config --system core.longpaths true结果在复制命令时&#xff0c;粘贴到命令行多了一…

【数据分析】盘点五一期间最受欢迎的几个景区

戳蓝字“CSDN云计算”关注我们哦&#xff01;五一假期已经结束&#xff0c;小伙伴是不是都还没有玩过瘾&#xff1f;但是没办法&#xff0c;还有很多bug等着我们去写&#xff0c;同样还有需要money需要我们去赚。为了生活总的拼搏。今年五一放了四天假&#xff0c;很多人不再只…

SonarQube代码质量管理平台C++插件sonar-cxx的安装

gblfy推荐了一个好的可替代CFamily插件&#xff0c; sonar-cxx插件&#xff0c;听闻插件作者就是看不惯CFamily的收费&#xff0c;自己写了个开源的&#xff0c; 更牛逼的插件&#xff0c;开源地址 https://github.com/SonarOpenCommunity/sonar-cxx这是我使用插件后的图片&am…

qt提升控件之后,编译报错

引言 自定义的控件&#xff0c;在ui文件中将控件提升为自定义的控件&#xff0c;提升的时候没有指明提升的头文件的相对路径或者绝对路径&#xff0c;导致编译的时候无法找到相应的头文件。 解决方法 1.在被提升的类的头文件前添加本机电脑所在的相对路径&#xff1b; 2.在被…

Spark精华问答 | 学Spark究竟有什么用?

戳蓝字“CSDN云计算”关注我们哦&#xff01;为什么要学习Spark&#xff1f;作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型&#xff0c;而且高效地支持更多的计算模式&#xff0c;包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中…

SecureCRT 设置护眼最佳方案 的字体及颜色

SecureCRT远程连接Linux服务器 文章目录1. 选择全局选项2. 选择默认会话-【编辑默认设置】3. 选择仿真-【终端选择Linux】4. 选择外观-【当前颜色方案&#xff08;白/黑&#xff09;】 -【字符编码】5. 字体修改-点击字体6. 选择字体及大小7. 关闭重启SecureCRT8. 效果图&#…

SecureCRT 免安装、绿色版、免费版本

SecureCRT远程连接Linux服务器 文章目录1. 下载软件2. 解压软件3. 双击运行4. 选择SecureCRT5. 图标点击&#xff0c;输入用户名6. 添加密码&#xff0c;点击确定7. 连接成功1. 下载软件 链接https://pan.baidu.com/s/1vv40uI_0uwIagPGm7FS9_g 提取码t32h 2. 解压软件 3. 双击…

GitHub重大更新即将加入免费软件包管理服务;钉钉社区因出现违规内容将停更整改一个月;Uber上市,定价为45美元……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go永安行共享电动汽车&#xff…

SecureCRT 文件下载上传

SecureCRT远程连接Linux服务器 文章目录1. 点击SecureFX图标2. 填写密码3. 窗口简要说明4. 上传文件5. 下载文件6. 第二种方案(建议使用)&#xff1a;7. 拖拽文件或目录8. 效果图1. 点击SecureFX图标 2. 填写密码 3. 窗口简要说明 4. 上传文件 5. 下载文件 6. 第二种方案(建议使…

《复联4》| 生活需要漫威这块糖

戳蓝字“CSDN云计算”关注我们哦&#xff01;漫威电影宇宙&#xff0c;历时11年&#xff0c;经历了21部电影&#xff0c;终于迎来了最终章。有人问如果没看过复联1、2、3可以去看吗&#xff1f;只看过钢铁侠没接触过复联可以去看吗&#xff1f;......看当然是可以看的&#xff…

企业实战02:Oracle数据库的安装和卸载

Oracle数据库专栏 文章目录一、 Oracle安装1.1. Oracle下载链接&#xff1a;1.2. 解压到一个文件夹中1.3. 百度云解压包&#xff1a;二、Oracle安装流程2.1. 以管理员身份运行2.2. 下图忽略2.3. 开始安装2.4. 选择-【是】2.5. 不勾选邮箱2.6. 选择【是】2.7. 选择创建和配置数据…

10 种最流行的 Web 挖掘工具 | 程序员硬核评测

戳蓝字“CSDN云计算”关注我们哦&#xff01; 程序员硬核评测&#xff1a;客观、高效、不说软话。无论是技术质量、性能水平&#xff0c;还是工具筛选&#xff0c;一测便知&#xff01;作者 | prowebscrapers blog译者 | 高级农民工责编 | 胡巍巍本文经授权转载自高级农民工互…

企业实战03:Oracle数据库_用户和表空间

Oracle数据库专栏 命令后面可以不加;分号 SQL语句后面一定要加;分号 文章目录用户和表空间2-1 使用系统用户登录Oracle系统用户2-2 Oracle用户和表空间之查看登录用户2-3 Oracle用户和表空间之启用scott用户2-4 练习题2-5 Oracle用户和表空间之表空间概述理解表空间&#xff1a…