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、群集完…

C++试题

引言 今天看题的时候&#xff0c;发现一道题看着挺简单&#xff0c;写了一下&#xff0c;输出正确。感觉解的挺好的&#xff0c;下面记录一下。 题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#…

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

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

c++中快速排序

引言 快速排序一直是排序算法中使用比较高频的一种算法。下面简述一下快排&#xff0c;予以记录。 实现思想 在一组无序的数组中&#xff0c;定义一个标志flag&#xff0c;这里以数组中左起第一个元素作为标志&#xff0c;定义一个i值和j值&#xff0c;分别表示从左边开始与…

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

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

springboot启动报错LoggerFactory is not a Logback LoggerContext but Logback...

由于springboot默认日志组件为logback&#xff0c;当时项目使用的为log4j&#xff0c;在打war包到tomcat启动时报如上错误。 原因&#xff1a;log4j日志组件和自带logback日志组件冲突。 解决方法: 将默认日志组件排除。 <dependency><groupId>org.springframew…

postman使用过程中body中的form-data,x-www-form-urlencoded,raw,binary的简单记录

引言 初次使用postman不是很清楚怎么使用&#xff0c;就直接上手&#xff0c;不想看postman的使用文档&#xff0c;故而采用直接上手实验的方式&#xff0c;下面记录一下&#xff0c;body在使用的时候的四种类型。 类型说明 form-data&#xff1a;既可以上传键值对&#xff…

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

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

java.lang.ClassNotFoundException: org.apache.log4j.Logger

<!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

qt中使用QStringLiteral宏来实现带参数的输出

叙述 在QStringLiteral宏中输入字符串&#xff0c;但是字符串中有些值想用变量来输出&#xff0c;直接上代码&#xff1a; qDebug()<<QStringLiteral("已经重连%1次未果&#xff0c;请尝试关闭程序&#xff0c;重新启动后连接&#xff01;").arg(m_reconnect…

Error: GlobalConfigUtils setMetaData Fail

有疑问&#xff0c;请留言&#xff0c;看到后统一回复,谢谢配合&#xff01; 问题现象: Caused by: com.baomidou.mybatisplus.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause:java.sql.SQLException: The connection property ‘zeroDa…

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

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

qt中生成并读取配置文件Ini

引言 做项目的时候需要将一些参数设置的更加灵活&#xff0c;通过用户修改来控制程序中一些参数&#xff0c;所以写到了配置文件中方便处理。 实现 下面是配置文件生成、读取的代码。 configinfo.h #ifndef CONFIGINFO_H #define CONFIGINFO_H#include <QMutex> #inc…

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;粘贴到命令行多了一…

qt设置渐变色

概述 此文只作为设置渐变色的一种方式&#xff1a; QDialog#ImDialog{background-color: qlineargradient(x1:0,y1:0,x2:1,y2:1,stop:0 #0e1d2e, stop:1 #141824); }以上为上下、左右渐变。 参考&#xff1a; https://blog.csdn.net/weixin_34034670/article/details/9182692…

linux 查看目录下文件个数

统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l统计某文件夹下目录的个数 ls -l |grep "^&#xff44;"|wc -l统计文件夹下文件的个数&#xff0c;包括子文件夹里的 ls -lR|grep "^-"|wc -l

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

戳蓝字“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…