首发于 知了编程学习圈

分布式开发-Maven多模块聚合项目

作者:知了堂-刘阳

在分布式开发项目中,聚合项目搭建非常重要。后面的zookeeper + dobbo,我们采用聚合项目来完成。

内容:

搭建聚合项目

再次将前面的zookeepr + dubbo入门demo变为聚合项目的工程结构

最后,测试在聚合项目中是否能够运行zookeeper + dubbo的程序

搭建聚合项目

第一步:创建parent项目,我们把项目名称取名为dubbo,注意这里不勾选模板

第二步:输入坐标和模块的名称

第三步:设置工程的路径

第四步:把刚创建好的dubbo工程里面的src目录去掉。因为此工程主要用来管理第三方依赖

第五步:创建子模块

选中dubbo项目,然后鼠标右键new->Module

还是选择Maven的项目,继续不选择模板,直接下一步

输入子模块的名称

创建好的子模块的工程结构如下

注意查看父模块(dubbo)和子模块(dubbo-provider)的pom.xml文件之间的关系

按照上面的子模块创建方式,我们在创建dubbo-customer子模块

第六步:将创建好的子模块设置为maven-webapp的项目

选中子模块dubbo-provider,然后找到open module settings的选项

在打开的页面中,先选择dubbo-provider,然后点击左上角的+号,选择web

下面是设置web相关的属性选项,请大家按照如下截图进行操作

OK ,至此,我们就将dubbo-provider成功的改造成了一个web项目,此时我们的项目结构如下

最后,我们再将dubbo-customer也改造为web模块

上面的聚合环境初步搭建,我们开始搭建dubbo的环境。再后面的编写后过程中,我们还会对pom.xml文件进行修改

我们先搭建dubbo的服务提供者,dubbo-provider

第一步:配置dubbo所需要的pom.xml文件

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>dubbo</artifactId>
        <groupId>com.zlt</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <packaging>war</packaging>
    <artifactId>dubbo-provider</artifactId>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
            <type>pom</type>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>

    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <port>8081</port>
                        <path>/</path>
                        <uriEncoding>UTF-8</uriEncoding>
                        <server>tomcat7</server>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

第二步:加入log4j.properties日志文件

第三步:编写spring.xml文件,里面加入dubbo的相关配置信息

第四步:修改web.xml文件,加入Listener监听,并加载spring配置文件

第五步:添加业务层接口

第六步:编写实现业务层的类

搭建dubbo的消费者,dubbo-customer

第一步:所需maven环境和dubbo-provider一样,这里参考上面的代码

第二步:加入log4j.properties文件,这里参考上面的代码

第三步:加入spring-mvc.xml文件,并添加dubbo的配置信息

第四步:配置springmvc的DispatcherServlet

第五步:编写接口代码,在接口代码里面依赖注入UserService

备注:@Reference 这个注解类似@Autowired,但是这里必须使用dubbo的依赖注入

第六步:通过调用IndexController接口的方法,测试是否能够通过dubbo+zookeeper找到一个801服务提供的UserService接口提供的功能。

好了,今天的内容就分享到这里了噢!下次给大家分享《分布式开发-dubbo管理中心的部署》,请持续关注哦!

祝贺知了堂教材出版

深圳SEO优化公司承德网站优化按天扣费多少钱温州高端网站设计哪家好自贡百度爱采购哪家好丹竹头网站定制价格安康建网站价格芜湖建站推荐铜仁百度标王价格梧州百度标王固原seo推荐庆阳百度网站优化排名报价泰州设计网站多少钱惠州seo排名多少钱长沙网络推广推荐扬州网站排名优化公司资阳seo网站优化多少钱淮北网站建设设计公司海西建设网站公司宁波百度竞价价格岳阳网站优化按天计费推荐呼和浩特优秀网站设计推荐马鞍山设计公司网站渭南设计公司网站多少钱滨州网站优化排名推荐长春网站搭建价格广安企业网站改版报价承德网站设计模板公司郴州企业网站建设报价黔南百度竞价报价渭南SEO按天收费常州网站推广系统多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化