美文网首页
2019-02-14(idea++maven+springMVC

2019-02-14(idea++maven+springMVC

作者: 721d739b6619 | 来源:发表于2019-02-15 00:13 被阅读1次

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

    File -> new -> project

    new maven project.png

    直接点击 NEXT 生成普通的maven项目

    创建提供服务的接口

    image.png

    该接口最终用于提供服务的maven项目和消费该服务的maven项目

    生成本地库的jar包

    先看看 pom.xml 文件:


    image.png

    内容就这些;注意packaging标签是jar包非war包

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

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

    image.png

    2、创建服务maven web项目

    这个与之前的普通maven项目不同就是这里


    image.png

    这里说一下:groupId 一般是指域名(com)+ 公司名或个人(如wyman)整个groupId :com.wyman
    artifactId:针对该项目起名如:dubbo-api
    groupId 和 artifactId其实用于区别库与库之间的不同。

    spring的配置就不说了,都是那些。

    看看dubbo的配置文件
    web.xml配置 classpath即resources目录下的路径


    image.png
    dubbo-config.xml配置文件
    image.png

    <dubbo:service />是配置上个dubbo-api项目的服务接口
    至于<bean/> 其实这里可以不填在java填写注解@Component 自动生成bean也是可以的。
    其他配置注释都写清楚了。
    zookeeper的默认端口为2181,这个可以在zookeeper的配置文件上修改,后边再说。


    image.png

    上图是对提供服务的项目对dubbo-api项目提供服务的接口进行实现供另外项目消费

    3、创建消费服务的maven web项目

    创建是一样的。这里看看消费的dubbo配置文件:


    image.png

    dubbo-config.xml:

    image.png

    调用文件:

    image.png

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

    image.png

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

    image.png
    image.png

    配置一下HTTP port端口和JMX port端口只要和另外一个项目端口不一样就可以了。

    5、最后简单说一下zookeeper安装和配置:

    zookeeper稳定版本地址

    image.png

    下载后解压

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

    image.png

    启动zookeeper:bin/zkCli.cmd

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


    image.png

    记得每次使用dubbo时候开启zookeeper服务注册!

    相关文章

      网友评论

          本文标题:2019-02-14(idea++maven+springMVC

          本文链接:https://www.haomeiwen.com/subject/erlueqtx.html