1、通过idea创建一个普通的maven项目用于写提供服务的接口
File -> new -> project

直接点击 NEXT 生成普通的maven项目
创建提供服务的接口

该接口最终用于提供服务的maven项目和消费该服务的maven项目
生成本地库的jar包
先看看 pom.xml 文件:

内容就这些;注意packaging标签是jar包非war包
这里有个坑就是生成jar包,由于之前生成jar是通过插件生成jar包然后放到另外两个目录的lib文件夹上,结果spring一直报错NotFoundClass 那个服务接口的对象,最终才发现原来这种方式不能;所以jar要通过maven生成到本地库(demo就放在自己电脑的maven库,开发项目需要放到统一的库上)


本人的本地库是这里,每个配置idea不同所以地址都不一样:

2、创建服务maven web项目
这个与之前的普通maven项目不同就是这里

这里说一下:groupId 一般是指域名(com)+ 公司名或个人(如wyman)整个groupId :com.wyman
artifactId:针对该项目起名如:dubbo-api
groupId 和 artifactId其实用于区别库与库之间的不同。
spring的配置就不说了,都是那些。
看看dubbo的配置文件
web.xml配置 classpath即resources目录下的路径
image.png
dubbo-config.xml配置文件

<dubbo:service />是配置上个dubbo-api项目的服务接口
至于<bean/> 其实这里可以不填在java填写注解@Component 自动生成bean也是可以的。
其他配置注释都写清楚了。
zookeeper的默认端口为2181,这个可以在zookeeper的配置文件上修改,后边再说。
image.png
上图是对提供服务的项目对dubbo-api项目提供服务的接口进行实现供另外项目消费
3、创建消费服务的maven web项目
创建是一样的。这里看看消费的dubbo配置文件:

dubbo-config.xml:

调用文件:

启动tomcat后输入 http://localhost:8080/test?name=wyman
就会调用此testSay方法
返回:Dubbo wyman hello word dubbo!

题外话 idea中tomcat开启两个web服务:


配置一下HTTP port端口和JMX port端口只要和另外一个项目端口不一样就可以了。
5、最后简单说一下zookeeper安装和配置:

下载后解压
注意zookeeper需要你java环境配置变量是 JAVA_HOME 不然它会报错:

启动zookeeper:bin/zkCli.cmd
以上总结都是基于windows系统dubbo和zookeeper皆是。
如果发现zookeeper 闪退可以在 zkServer.cmd 最后输入 "pause" 看看报什么错,之前我就是java环境变量出错导致闪退。

网友评论