上篇是SSM的maven单工程(http://www.cnblogs.com/yuanjava/p/6748956.html)。中篇是 SSM的maven多工程(http://www.cnblogs.com/yuanjava/p/6886099.html)。 此下篇是把 中篇的 service 单独拿出来当做一个服务当做服务提供者,供contoller 的 消费端调用。然后把  service端的服务用dubbo把服务注册到注册中心(zookeeper),消费端订阅取到注册中心的服务地址,根据地址去 服务端找对应的服务调用。

工程代码github地址:https://github.com/liuxiaoshi/liuxs-parent

一.创建工程

中篇我们的工程   是

lxs-parent (父工程 pom)

----------lxs-common (子工程 jar 对应原工程里的utils)

--------- lxs-web-parent  (子工程  聚合工程  pom)

----------lxs-pojo (子模块  jar 对应原工程 pojo包)

----------lxs-mapper (子模块  jar 对应原工程 dao包)

----------lxs-service (子模块  jar 对应原工程 service 接口和实现类)

----------lxs-web (子模块 war )

其实也可以把 lxs-web-parent 去掉 把所有的工程聚合到 lxs-parent里。此次就把所有的工程都聚合到 lxs-parent。同时把lxs-service 模块抽出来当做war当做服务提供者。同时因为服务接口消费端也要调用,因为把接口抽出个jar包。

此次工程结构是

liuxs-parent (父工程 pom 聚合工程)

----------liuxs-common (子工程 jar 对应原工程里的utils)

----------liuxs-pojo  (子模块  jar 对应原工程 pojo包)

----------liuxs-interface (子模块  jar 对应原工程接口 )

----------lxs-mapper (子模块  jar 对应原工程 dao包)

----------liuxs-provider-web(子模块 war  服务提供 service 包)

----------liuxs-consumer-web (子模块 war  消费端  contoller包)

创建父工程  liuxs-parent

分别创建子模块

创建liuxs-common

创建liuxs-provider-web   war包

其他不一一创建了,最后工程目录是这样的

二:修改依赖等

父工程加入 dubbo 和 zookeeper 包,因为dubbo依赖的spring 好像会跟 spring4.3的冲突,因此排除掉

三:把原工程对应的模块和代码移动到多模块工程里

此步骤跟上篇的移动差不多。

liuxs-provider-web 增加dubbo-provider.xml

内容如下:

liuxs-consumer-web 增加dubbo-consumer.xml

内容如下

四:测试结果

安装对应的zookeeper 和dubbo 控制台 (http://www.cnblogs.com/yuanjava/p/6793251.html)

启动服务提供方liuxs-provider-web,在dubbo 控制台看见了 服务器提供方

然后启动 消费端 liuxs-consumer-web ,在dubbo控制台消费者看到对应的消费者

最后运行结果

基于dubbo的SSM(Spring,SpringMvc,Mybatis)整合的Maven多工程(下)的更多相关文章

  1. SSM Spring +SpringMVC+Mybatis 整合配置 及pom.xml

    SSM Spring +SpringMVC+Mybatis 配置 及pom.xml SSM框架(spring+springMVC+Mybatis) pom.xml文件 maven下的ssm整合配置步骤

  2. ssm(spring+springmvc+mybatis)整合之环境配置

    1-1.导包 导入SpringMVC.Spring.MyBatis.mybatis-spring.mysql.druid.json.上传和下载.验证的包 1-2.创建并配置web.xml文件 配置sp ...

  3. SSM(Spring+SpringMvc+Mybatis)整合笔记

    1.使用开发工具 jdk1.8 eclipse Tomcat7.0 MySql 2.创建数据库和表,由于重点是整合,所以数据库就随意加几条数据. 3.创建动态Web项目(推荐使用Maven可以用配置来 ...

  4. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  5. ssm之spring+springmvc+mybatis整合初探

    1.基本目录如下  2.首先是向lib中加入相应的jar包  3.然后在web.xml中加入配置,使spring和springmvc配置文件起作用. <?xml version="1. ...

  6. SSM(Spring,SpringMVC,Mybatis)框架整合项目

    快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...

  7. Spring+springmvc+Mybatis整合案例 annotation版(myeclipse)详细版

    Spring+springmvc+Mybatis整合案例 Version:annotation版 文档结构图: 从底层开始做起: 01.配置web.xml文件 <?xml version=&qu ...

  8. 框架篇:Spring+SpringMVC+Mybatis整合开发

    前言: 前面我已搭建过ssh框架(http://www.cnblogs.com/xrog/p/6359706.html),然而mybatis表示不服啊. Mybatis:"我抗议!" ...

  9. SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建

    SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...

  10. SSM(Spring + Springmvc + Mybatis)框架面试题

    JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...

随机推荐

  1. 设计模式(二)—工厂方法模式

         凡是出现了大量的实例需要创建,而且具有共同的接口时,可以通过工厂方法模式进行创建. 一个接口: Sender public interface Sender{ public void sen ...

  2. TabBar自定义方式(一)

    1.思路:创建一个继承UIView的TabBar类,并将需要的item添加到TabBar上面去,并用代理来处理相应的时间 [self.view bringSubviewToFront:self.one ...

  3. Java原子变量

    实现全局自增id最简单有效的方式是什么?java.util.concurrent.atomic包定义了一些常见类型的原子变量.这些原子变量为我们提供了一种操作单一变量无锁(lock-free)的线程安 ...

  4. ROS使用常见问题

    1.Q:查看ros版本 A:先在终端输入roscore,打开新终端,再输入,rosparam list,再输入rosparam get /rosdistro,就能得到版本. 2.Q:运行命令$ ros ...

  5. 【iOS系列】-多图片多线程异步下载

    多图片多线程异步下载 开发中非常常用的就是就是图片下载,我们常用的就是SDWebImage,但是作为开发人员,不仅要能会用,还要知道其原理.本文就会介绍多图下载的实现. 本文中的示例Demno地址,下 ...

  6. call和apply的异同

    共同点: 作用:调用一个对象的一个方法,以另一个对象替换当前对象.将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.如果没有提供 thisObj 参数,那么 Global 对 ...

  7. linux 程序调用system执行命令

    正确使用system方法,判断返回值 int exeCmd(const char *cmd) { pid_t status; status = system(cmd); == status) { Wr ...

  8. Redis编码问题

    最近搞redis存储对象出了点问题,大概说一下背景,项目原有的东东以前存的是redis,存储的直接是对象模型,没有问题,这里存储对象存储任何信息事都没有问题的.但是现在调整为存储序列化的json字符串 ...

  9. Linux-粘滞位的使用

    粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位, 也只能针对⽬录设置,对于⽂件⽆效.则设置了粘滞位后,只有目录内文件的所有者或者root才可 ...

  10. 读书笔记 effective c++ Item 55 让你自己熟悉Boost

    你正在寻找一个高质量的,开源的,与平台和编译器无关的程序库的集合?看一下Boost吧.想加入一个由雄心勃勃的,充满天赋的正致力于最高水平的程序库设计和实现工作的C++程序员们组成的团体么?看一下Boo ...