pom:
        
          <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.8</version>
            <type>pom</type>
          </dependency>
        <dependency>  
          <groupId>com.alibaba</groupId>  
          <artifactId>dubbo</artifactId>  
          <version>2.5.3</version>  
          <exclusions>  
           <exclusion>  <!--当在Maven中有包的冲突的时候,为解决包的冲突,我们可以在依赖中排除依赖-->
            <artifactId>spring</artifactId>  
            <groupId>org.springframework</groupId>  
           </exclusion>  
          </exclusions>  
        </dependency>  
 
服务提供者:
 
<?xml version="1.0" encoding="UTF-8"?>
 
    <!-- 提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 -->  
       <dubbo:application name="dubbo_provider"></dubbo:application>  
       <!-- 使用zookeeper注册中心暴露服务地址 -->    
       <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" subscribe="false" register=""></dubbo:registry>  
      <!-- 要暴露的服务接口 -->    
      <dubbo:service interface="com.jk.service.StuServiceInter" ref="stuService" />     
    <bean id="stuService" class="com.jk.service.StuServiceImp"></bean> 
     <!-- 用dubbo协议在20880端口暴露服务 -->  
    <!-- <dubbo:protocol name="dubbo" host="10.3.41.6" port="20880" /> --> 
    <dubbo:protocol name="dubbo" port="20880"/>       <!---------不加的话  会报错,报ip之类错误--------- --> 
 
  <!-- <dubbo:application name="dubbo-provider"/>
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
    <dubbo:protocol name="dubbo" port="4090" />
    <dubbo:monitor protocol="registry"/>
    <dubbo:annotation package="com.jk.test.imp" />
     <bean id="sayHello" class="com.jk.test.imp.SayHelloImpl"></bean> 
    <dubbo:service interface="com.jk.test.api.SayHello" ref="sayHello" timeout="10000" />  -->
</beans>
 
注意:
    
 
实现Serializable最重要的两个原因是:
    1、将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;
  2、按值将对象从一个应用程序域发送至另一个应用程序域。

   实现serializable接口的作用是就是可以把对象存到字节流,然后可以恢复。
        所以你想如果你的对象没实现序列化怎么才能进行网络传输呢,要网络传输就得转为字节流,
        所以在分布式应用中,你就得实现序列化,如果你不需要分布式应用,那就没那个必要实现序列化。 


暴露服务:
    1、通过阿里巴巴 编写的主方法 进行暴露
                

   public static void main(String[] args) {
                           com.alibaba.dubbo.container.Main.main(args);    //调用阿里的 主方法,它默认会加载 META-INF/spring/下的配置文件
                     }
    2、通过启动项目进行暴露
                
                        <?xml version="1.0" encoding="UTF-8"?>
                             <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
                                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                                http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
                                <!-- spring 监听 -->
                                     <listener>
                                        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                                  </listener>
                              <context-param>
                                <param-name>contextConfigLocation</param-name>
                        <param-value>

 classpath:spring-base.xml,  //加载注解扫描
                                    classpath:spring-common.xml,

 //数据库连接信息
                                    classpath:META-INF/spring/spring-dubbo.xml

   //加载暴露服务 xml
                    </param-value>
                  </context-param>  
                </web-app>
 
消费者:
    web.xml:
                        
 消费引用接口配置:
<?xml version="1.0" encoding="UTF-8"?>
    default-lazy-init="false" >
 
   <dubbo:application name="dubbo_consumer"></dubbo:application>
   <!-- 使用zookeeper注册中心暴露服务地址 -->  
   <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false"></dubbo:registry> 
     <!-- 要引用的服务 -->  
   <dubbo:reference interface="com.jk.service.StuServiceInter" id="stuServiceImp"></dubbo:reference>
 
</beans>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dubbo+zookeeper+springMVC +maven的更多相关文章

  1. Dubbo+Zookeeper+SpringMVC+Maven整合实现微服务项目

    互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...

  2. dubbo & zookeeper & springMVC

    一.安装准备 1.环境简介 名称 版本 OS Mac OS X 10.11.5 JDK 1.8.0_51 dubbo 2.5.4 tomcat 8.0.35 Zookeeper 3.4.8 maven ...

  3. 精华【分布式、微服务、云架构、dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!

    平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis ...

  4. 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis

     分类: 分布式技术(3)    目录(?)[+]   平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成D ...

  5. dubbo+zookeeper+springmvc+mybatis+shiro+redis架构

    内容管理(CMS)系统,包括内容管理,栏目管理.站点管理.公共留言.文件管理.前端网站展示等功能: 在线办公(OA)系统,主要提供简单的流程实例. Jeesz提供了常用工具进行封装,包括日志工具.缓存 ...

  6. Dubbo+zookeeper+SpringMVC搭建最简单的分布式项目

    Dubbo 是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo 架构流程图 Provider:服务提供方 Consumer:服务消费者 Registry ...

  7. MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建

    : 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程  API    Pom.xml:不用引用任何东西  Provider    Pom.xml:要denpend ...

  8. 搭建SpringBoot+dubbo+zookeeper+maven框架(二)

    上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...

  9. 搭建SpringBoot+dubbo+zookeeper+maven框架(一)

    这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...

随机推荐

  1. 实战medusa暴力破解

     medusa介绍: 暴力破解工具:主要可以破解这些模块功能很强大 medusa  的安装 条件: 准备工作:(下载下面软件)   1 wget http://www.foofus.net/jmk/t ...

  2. 双系统 windows引导项添加

    [root@MiWiFi-R2D-srv ~]# vi /etc/grub.d/40_custom #!/bin/sh exec tail -n +3 $0# This file provides a ...

  3. nginx upstream

    nginx转发http和tcp http转发 upstream goforit_201 { server 172.168.10.10:201; } server { listen 201; serve ...

  4. echars 在vue v-if 切换会 显示不出来或者显示出来但是不是百分百显示

    我也是百度看别人写的原因,然后自己总结,以后用到的时候来复制就可以将  v-if换成 v-show 第二不是百分百显示  可以用 this.$nextTick(function() { this.in ...

  5. 国庆 day 7 下午

    思路:见博客. #include<iostream> #include<cstdio> #include<cstring> #include<algorith ...

  6. Android中处理Touch Icon的方案

    苹果的Touch Icon相对我们都比较熟悉,是苹果为了支持网络应用(或者说网页)添加到桌面需要的图标,有了这些Touch Icon的网页链接更加和Native应用更相像了.由于苹果设备IPod,IP ...

  7. tomcatserver管理界面username和password忘记

    tomcatserverhttp://localhost:8080/ 这样訪问,点击Manager App后要求输入username和password才干进入管理应用界面 我忘记了username和p ...

  8. Canvas中的非零围绕规则原理

    非零围绕规则:对于路径中指定范围区域,从该区域内部画一条足够长的线段.使此线段的全然落在路径范围之外. 非零围绕规则计数器:然后,将计数器初始化为0,每当这个线段与路径上的直线或曲线相交时,就改变计数 ...

  9. [-] Failed to load plugin from /usr/share/metasploit-framework/plugins/db_autopwn: No classes were loaded from /usr/share/metasploit-framework/plugins/db_autopwn in the Msf::Plugin namespace.

    问题详情 然后,执行,出现如下问题,则说明大家的这个文件,下载不是完整的或者你上传不完整. msf > load db_autopwn [-] Failed to load plugin fro ...

  10. Swift学习笔记(3):基本运算符

    目录: 运算符 元组比较 空和运算符 区间运算符 运算符 +, -, *, /, %, =, +=, -=, *=, /= 算术运算符 >, <, ==, >=, <=, != ...