资讯专栏INFORMATION COLUMN

dubbox 入门Demo

BetaRabbit / 2441人阅读

摘要:准备工作准备安装包安装包安装配置的环境变量启动单机版查看的状态编写服务提供方创建项目创建文件加载容器导入依赖相关指定端口请求路径编写接口类编写实现

Ⅰ.准备工作

准备lnux安装包

zookeeper安装包

wget http://mirrors.hust.edu.cn/ap...

安装zookeeper

tar -zxvf zookeeper-3.4.10

配置zk的环境变量

启动单机版zookeeper

  * zkServer.sh start
  * 查看zk的状态 zkServer.sh status

Ⅱ.编写服务提供方

创建Maven项目

创建web.xml文件

   
        
        
        
        
            contextConfigLocation
            classpath:applicationContext*.xml
        
        
            org.springframework.web.context.ContextLoaderListener
        
        

导入maven依赖

        
            4.2.4.RELEASE
        
    
        
            
            
                org.springframework
                spring-context
                ${spring.version}
            
            
                org.springframework
                spring-beans
                ${spring.version}
            
            
                org.springframework
                spring-webmvc
                ${spring.version}
            
            
                org.springframework
                spring-jdbc
                ${spring.version}
            
            
                org.springframework
                spring-aspects
                ${spring.version}
            
            
                org.springframework
                spring-jms
                ${spring.version}
            
            
                org.springframework
                spring-context-support
                ${spring.version}
            
    
            
            
                com.alibaba
                dubbo
                2.8.4
            
            
                org.apache.zookeeper
                zookeeper
                3.4.6
            
            
                com.github.sgroschupf
                zkclient
                0.1
            
    
            
                javassist
                javassist
                3.11.0.GA
            
    
        
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    2.3.2
                    
                        1.7
                        1.7
                    
                
                
                    org.apache.tomcat.maven
                    tomcat7-maven-plugin
                    
                        
                        8081
                        
                        /
                    
                
            
        
        

编写接口类

  
        package cn.itcast.dubbox.service;
        
        public interface UserService {
            
            public String getName();
        
        }

编写实现类

        package cn.itcast.dubbox.service.impl;

        import com.alibaba.dubbo.config.annotation.Service;
        
        import cn.itcast.dubbox.service.UserService;
        
        //dubbo的service注解  用于向zookeeper注册服务
        
        @Service
        public class UserServiceImpl implements UserService {
        
            public String getName() {
                return "itcast";
            }
        }

编写spring配置文件

        
        
        
            //项目名,填写自己的项目名  我的项目名称叫做 dubbox-service
            
            //这里填写zk的IP以及对应的端口号
            
            //dubbox 的包扫描
            
        
Ⅲ.编写服务消费方

创建maven项目

创建web.xml文件

   
  4.0.0
  cn.itcast.dubbox.web
  dubbox-web
  0.0.1-SNAPSHOT
  war
  服务消费
  
  
        4.2.4.RELEASE
    

    
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-aspects
            ${spring.version}
        
        
            org.springframework
            spring-jms
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        

        
        
            com.alibaba
            dubbo
            2.8.4
        
        
            org.apache.zookeeper
            zookeeper
            3.4.6
        
        
            com.github.sgroschupf
            zkclient
            0.1
        

        
            javassist
            javassist
            3.11.0.GA
        

    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                2.3.2
                
                    1.7
                    1.7
                
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                
                    
                    8082
                    
                    /
                
            
        
        
        

复制上面的接口

编写controller

   package cn.itcast.dubbox.controller;

    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.alibaba.dubbo.config.annotation.Reference;
    
    import cn.itcast.dubbox.service.UserService;
    
    @RestController
    public class indexController {
        
        @Reference
        UserService userService;
        
        @RequestMapping("/getName")
        public String getName(){
            return userService.getName();
        }
    
    }

编写springmvc.xml文件

   
    
    
        
            
                
                    
                
            
        
    
        
        
        
        
        
Ⅳ启动

启动zk

启动service

启动web

访问 localhost:8082/getName

示例Demo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68197.html

相关文章

  • dubbox/dubbo+spring+mybatis+gradle构建REST服务

    摘要:修正了在上的部分修正了比如协议中序列化的问题。配置文件在配置配置在目录下面配置后的工程基本目录结构在项目 杂七杂八的杂 个人博客: 呆萌的程序猿原文:dubbox/dubbo+spring+mybatis+gradle构建REST服务声明:由于sf的编辑自动校验,导致某些英文单词出错,例如:gradle被编辑器自动替换为grade,jdk替换为idk等,查看的时候,请自行翻译。 ---...

    fireflow 评论0 收藏0
  • 当当弹性化中间件及云化之路(据说读完可以少踩坑)

    摘要:第二部分介绍当当的弹性化中间件。第三部分当当的云化之路。下面部分是为当当运营人员与合作伙伴提供的系统,如商品价格库存等。下图是当当的监控系统以及限流系统的。当当采用的作业中间件是自研的,它可以将一个完整的作业拆分为多个相互独立的任务。 showImg(https://segmentfault.com/img/remote/1460000009999152); 6月24日,双态运维·乌镇...

    王陆宽 评论0 收藏0
  • Java 8原生API也可以开发响应式代码?

    摘要:中使用了提供的原生接口对自身的异步化做了改进。可以支持和两种调用方式。实战通过下面的例子,可以看出的最大好处特性。 showImg(https://segmentfault.com/img/remote/1460000020032427?w=1240&h=655); 前段时间工作上比较忙,这篇文章一直没来得及写,本文是阅读《Java8实战》的时候,了解到Java 8里已经提供了一个异步...

    HtmlCssJs 评论0 收藏0
  • java-study-springcloud-网络资料-01-微服务是什么

    摘要:本系列网络资料资料来源于网络,相关学习微服务与微服务架构定义理解单一应用程序划分为一组小的服务,每个服务有自己的进程。 本系列(java-study-springcloud-网络资料)资料来源于网络,springcloud相关学习 1、微服务与微服务架构 定义:https://martinfowler.com/arti... showImg(https://segmentfault.c...

    JerryZou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<