教你springboot+dubbo快速启动的方法

目录
  • 前言
  • 实操
  • 测试

前言

现在用dubbo的太多了,我到现在还不熟悉,这太不应该了,这次好好看了一下dubbo,终于把基本的启动框架搭好了。dubbo的角色宽泛的分三类provider,comsumer,注册中心。我这里的注册中心用的是zookeeper,并且是在windows环境下做的。

dubbo和springboot整合的依赖:

<dependency>
   <groupId>com.alibaba.boot</groupId>
   <artifactId>dubbo-spring-boot-starter</artifactId>
   <version>0.2.0</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

实操

1、创建一个大的maven项目,将里面的src目录删掉,这只是为了在这个大的maven项目里面添加provider和comsumer两个模块。之后创建两个springboot项目,分别是provider和comsumer,创建好的结构:

这里的common模块我是把entity和接口类抽出来,不抽出来也是可以的

2、common(这里面没有任何依赖,就是个maven项目)

entity:

public class User {
    private Long id;
    private String name;
    private Integer age;
    public User() {
    }
    public User(Long id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

UserService:

public interface UserService {
    User query(Long id);
}

OrderService:

public interface OrderService {
    String getName(Long id);
}

3、provider(添加dubbo依赖并把刚才写的公共模块依赖进来)

<dependency>
    <groupId>org.example</groupId>
    <artifactId>common</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

OrderServiceImpl:

import com.alibaba.dubbo.config.annotation.Service;
//这里的service注解用的是dubbo
@Service
public class OrderServiceImpl implements OrderService {
    @Autowired
    private UserService userService;
    @Override
    public String getName(Long id) {
        User query = userService.query(id);
        return query.getName();
    }
}

UserServiceImpl:

import com.alibaba.dubbo.config.annotation.Service;
@Service
public class UserServiceImpl implements UserService {
    @Override
    public User query(Long id) {
        User user = new User(1L, "张三", 12);
        return user;
    }
}

启动类上添加@EnableDubbo

application.properties:

#服务名称
dubbo.application.name=provice
#注册中心
dubbo.registry.address=127.0.0.1:2181
dubbo.registry.protocol=zookeeper
#通信协议
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

4、comsumer(添加dubbo依赖,common模块,web依赖)

OrderController:

import com.alibaba.dubbo.config.annotation.Reference;
@RestController
public class OrderController {
//添加dubbo的reference注解,进行远程调用
    @Reference
    OrderService orderService;

    @RequestMapping("getName")
    String getName(Long id){
        String name = orderService.getName(id);
        return name;
    }
}

启动类上加上@EnableDubbo

application.properties:

#服务名称
dubbo.application.name=comsumer
#注册中心
dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181

测试

启动zookeeper,provider和comsumer.

注:

1、首先要启动zookeeper,下载windows版压缩包,修改conf配置文件,启动zkServer.cmd命令。具体怎么弄这里就不写了,网上很多,我这里主要练习的是dubbo.
2、启动类上需要添加@EnableDubbo
3、comsumer中调用服务用@Reference,因为是远程调用,所以 @Autowired肯定是没用的了
4、provider中的实现类需要用dubbo的@Service注解

到此这篇关于springboot+dubbo快速启动的文章就介绍到这了,更多相关springboot dubbo启动内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot整合Dubbo框架,实现RPC服务远程调用

    一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层或模块,蓝色的表示与业务有交互,绿色的表示只对 Dubbo 内部交互. 2)图中背景方块 Consumer, Provider, Registry, Monitor 代表部署逻辑拓扑节点. 3)图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用. 4)图中只包含 RPC

  • springboot+dubbo+zookeeper的简单实例详解

    目录 服务端 消费端 在dubbo-admin-0.0.1-SNAPSHOT.jar的路径下启动dubbo,java -jar dubbo-admin-0.0.1-SNAPSHOT.jar dubbo-admin-0.0.1-SNAPSHOT.jar的包需要提前打好 启动zookeeper的zkServer.cmd和zkCli.cmd 需要的依赖 <!-- 导入依赖:zookeeper + dubbo --> <!-- https://mvnrepository.com/artifact

  • springboot与dubbo的版本匹配问题

    目录 springboot与dubbo的版本匹配 项目里原始版本 升级到2.6.7后错误日志 springboot+dubbo版本对应关系 背景 对应关系 springboot与dubbo的版本匹配 官方链接 参考: 项目里原始版本 springboot:2.1.6.RELEASE dubbo-spring-boot-starter : 0.2.1.RELEASE dubbo: 2.6.5 上面这么写是可以正常运行的.但是当把dubbo升级到2.6.7时候,却报错了,异常如下: 升级到2.6.7

  • springBoot+dubbo+zookeeper实现分布式开发应用的项目实践

    目录 环境搭建 1.我们首先做好服务端 2.启动服务端 3.我们再来做客户端 4.总结 环境搭建 项目结构图: 1.我们首先做好服务端 pom.xml <dependencies> <!--导入依赖:Dubbo + zookeeper--> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifac

  • springboot分布式整合dubbo的方式

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色. 1.服务提供者配置 //需要额外引入的jar包 提供者 <dependency> <groupId>com.alibaba.boot<

  • 教你springboot+dubbo快速启动的方法

    目录 前言 实操 测试 前言 现在用dubbo的太多了,我到现在还不熟悉,这太不应该了,这次好好看了一下dubbo,终于把基本的启动框架搭好了.dubbo的角色宽泛的分三类provider,comsumer,注册中心.我这里的注册中心用的是zookeeper,并且是在windows环境下做的. dubbo和springboot整合的依赖: <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>

  • springboot项目快速搭建的方法步骤

    1. 问题描述 springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot. 2. 解决方案 强烈推荐大家使用Idea的付费版(破解感谢下蓝宇),Idea对maven.git等插件支持的更加好. 使用idea自带的spring Initializr(实际调用的是springboot的官网上的initializr),快速新建springbo

  • springboot命令行启动的方法详解

    springboot命令行启动 创建的springboot项目想看看效果,不想打开idea等开发工具,使用直接使用命令行启动. maven的命令启动 需要将 jdk的bin目录和maven的bin目录添加到环境变量path中,若是没有,mvn就要用在maven的bin环境中的全路径 若是没有添加环境变量 mvn就要是E:\software\apache-maven-3.3.9\bin\mvn(安装路径\bin\mvn) java就要是C:\software\jdk\bin\java.exe(安装

  • Android实现欢迎页快速启动的方法

    Android 欢迎页快速启动 大家应该都知道,在默认情况下,Android App在点击App logo到App完全启动这之间会有一段时间空白期.那么如何做到在用户点击logo图标之后立即打开App的界面而不是一段白屏或黑屏呢? 设置xml 在drawable下建立welcome.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://sc

  • 关于SpringBoot简介、官网构建、快速启动的问题

    目录 SpringBoot概述 起步依赖 探索父工程 探索依赖 小结 程序启动 切换web服务器 spring与springboot的对比 官网构建工程 进入SpringBoot官网 选择依赖 生成工程 SpringBoot工程快速启动 问题引入 打包 启动 SpringBoot概述 SpringBoot 是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程. 大家已经感受了 SpringBoot 程序,回过头看看 SpringBoot 主要作用是什么

  • SpringBoot系列教程之dubbo和Zookeeper集成方法

    今日学习新的内容:dubbo   dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. zookeeper   zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. SpringBoot整合dubbo和Zookeeper 1.了解Dubbo基本

  • 教你怎么用SpringBoot+Mybati-Plus快速搭建代码

    前言 先放一个官网吧,其实本案例就是根据官网案例来的,只是进行了修改配置. Mybatis-plus官网 一.搭建一个springboot项目 这一步应该不用多说了,使用idea可以非常方便的就搭建出来了. 二.配置依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="

  • 快速掌握SpringBoot应用的启动入口

    目录 1.一切的开始 2.总结 Springboot可以说是Java程序员必备技能了,大家都知道Springboot最终可以通过maven打成jar包,然后直接使用java -jar命令运行一个Web工程(或其它).这样就避免了原先基于tomcat的web工程的复杂操作.Springboot能够使Web服务的部署简单到如此程度是因为其内置了Jetty(或Tomcat)服务器,并且在容器启动过程中start该服务器,成功运行Web服务. 本篇并不是深究内置服务器的启动过程,而是追溯Springbo

  • 快速启动桌面图标丢失的解决方法

    无意中发现XP系统的快速启动栏里的"显示桌面"图标不见了,平时桌面上一大堆东西,想返回的时候都是点击一下这个"显示桌面"的图标就好了,现在没了它还真不方便.flymorn总结一下恢复这个图标的方法吧. 第一个方法: 点击"开始→运行",在弹出的"运行"对话框中输入"REGSVR32 /n /i:u shell32"(不含双引号),然后回车,片刻后会弹出"shell32中的DllInstall成功&

  • springboot中swagger快速启动流程

    介绍 可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调. 没有接触的小伙伴可以参考官网文章进行了解下demo页面. 多应用 当然在单个应用大家可以配置SwaggerConfig类加载下buildDocket,就可以快速构建好swagger了. 代码大致如下: /** * Swagger2配置类 * 在与spring boot集成时,放在与Application.java同级的目录下. * 通过@Configuration注解,让Spring来加载该类配置. * 再

随机推荐