springboot和dubbo整合

恒久地平线      2022-02-12     205

关键词:

创建3个项目

dubbo-api

新建一个maven项目,这个项目只有接口(或实体类)

dubbo-service和dubbo-web这两个依赖于dubbo-api

<groupId>com.zhang</groupId>
<artifactId>dubbo-api</artifactId>
<version>1.0</version>

 

package com.zhang.service;

public interface UserService {

    public String login(String username);
}

 

dubbo-service

 dubbo服务provider

<groupId>com.zhang</groupId>
<artifactId>dubbo-service</artifactId>
<version>1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>

 Maven依赖

<dependencies>
    <dependency>
        <groupId>io.dubbo.springboot</groupId>
        <artifactId>spring-boot-starter-dubbo</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.zhang</groupId>
        <artifactId>dubbo-api</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>

 service实现类,用@Service注解

package com.zhang.service;

import com.alibaba.dubbo.config.annotation.Service;

@Service(version="1.0.0")
public class UserServiceImpl implements UserService{

    @Override
    public String login(String username) {
        System.out.println("username:" + username);
        return "my name is " + username;
    }
    
}

application.properties配置,spring.dubbo.scan=服务的package

spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.zhang.service

dubbo-web

dubbo服务consumer

<groupId>com.zhang</groupId>
<artifactId>dubbo-web</artifactId>
<version>1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>

 

maven依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.zhang</groupId>
        <artifactId>dubbo-api</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>io.dubbo.springboot</groupId>
        <artifactId>spring-boot-starter-dubbo</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

新建一个Controller类

package com.zhang.service;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.dubbo.config.annotation.Reference;

@Controller
public class Person {

    @Reference(version = "1.0.0")
    private UserService userService;
    
    @RequestMapping("/login")
    @ResponseBody
    public String run() {
        return userService.login("abcd");
    }
}

springboot入口类

package com.zhang.service;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
        
    }
}

application.properties

spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.zhang.service

启动顺序和测试

1、先自动zookeeper

2、启动dubbo-service

3、启动dubbo-web

测试方式,直接在浏览器地址里输入http://localhost:8080/login

springboot整合dubbo

SpringBoot整合Dubbo一、Dubbo  Dubbo是一款高性能、轻量级的开源JavaRPC框架,  它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。    关键点介绍:  1.注册与发现  ... 查看详情

springboot整合dubbo和zookeeper

...就像调用本地服务一样简单。截至目前,Dubbo发布了基于SpringBoot构建的版本,版本号为0.2.0,这使得其与SpringBoot项目整合变得更为简单方便。而Zookeeper在这里充当的是服务注册中心的角色,我们将各个微服务提供的服务通过Dubbo... 查看详情

dubbo学习springboot整合dubbomybatismysql

dubbo-admin查看服务和服务提供方配置 服务消费方配置和web整合相对复杂一些,常出现的问题是Controller中有@Reference配置的属性 没注入进来而调用时报null异常   查看详情

dubbo整合springboot

目前的dubbo已支持和springboot集成,还是之前的例子,这次我们通过springboot容器来实现。借此了解一下基于springboot容器启动的dubbo的配置及使用。1.准备工作创建一个Maven空项目,作为项目的父工程,此工程的子项目基于SpringBoot2.0... 查看详情

springboot整合dubbo案例(代码片段)

使用框架:jdk1.8springboot-2.1.3dubbo-2.6spring-data-jpa-2.1.5一、开发dubbo服务接口:按照Dubbo官方开发建议,创建一个接口项目,该项目只定义接口和model类;1、创建springboot工程spring-boot-demo-dubbo-interface坐标:<groupId>com.example</groupI... 查看详情

springboot与dubbo整合的三种方式

...服务,使用@Reference来引用服务。具体可参考 Dubbo整合SpringBoot,这里截取部分代码方便理解。属性在application.properties中配置服务提供方使用@Service注 查看详情

springboot整合dubbo+zookeeper

dockerpullzookeeperdockerrun--namezk01-p2181:2181--restartalways-d2e30cac00aca 表明zookeeper已成功启动 Zookeeper和Dubbo•ZooKeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,... 查看详情

springboot整合dubbo-服务化最佳实践

分包:公共的模型、接口、异常都放在此处(springboot-interface-api)将springboot-meeting-service、springboot-user-service系统pojo和service提取到springboot-interface-api1.分包——新建普通maven项目      springboot 查看详情

springboot整合dubbo+zookeeper——实现发布并访问远程服务

前言什么是Dubbo?——开源分布式服务框架Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo是一款高性能、轻量级的... 查看详情

springboot与dubbo整合

1.添加依赖 <!--SpringBootDubbo依赖--> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>$dubbo 查看详情

dubbo入门学习-----dubbo整合springboot(代码片段)

springboot节省了大量的精力去配置各种bean,因此通过一个简单的demo来整合springboot与dubbo一、创建boot-user-service-provider本篇博文基于上篇中的dubbo项目,整体工程如下:1、pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven... 查看详情

springboot整合dubbo

一、导入依赖  二、生产者provider  (1)目录展示        (2)配置文件application.properties        (3)DoSomeService接口     packagecom.zn.service;publicinterfaceDoSomeService{publicStringsayHi();}  (4)DoSomeService... 查看详情

dubbo与springboot的三种整合方式

SpringBoot与dubbo整合的三种方式:1、导入dubbo-starter,在application.properties配置属性,使用@Service暴露服务,使用@Reference引用服务,使用@EnableDubbo开启dubbo注解(或者在application.properties中配置dubbo.scan.base-packages=com.lina02.gmall)2、保留 查看详情

springboot2.x整合dubbo2.6.x和dubbo2.7.x

参考技术ADubbo有很长一段时间的发展史,2018年的时候不知道为什么阿里暂更了一年,之后又重新开始更新。之前一直是阿里在维护,后面阿里把它捐给了Apache基金会,由Apache来维护,2.6.x之前,maven中的包名都是alibaba,2.7.0之后... 查看详情

springboot整合dubbo

 Dubbo是阿里开源的一个微服务框架,性能很高,现在由Apache维护。 Dubbo的架构:http://dubbo.apache.org/zh-cn/docs/user/preface/architecture.html 此处写一个demo,订单服务获取订单所属用户的信息,order-service调用user-service。 &nbs... 查看详情

springboot整合dubbo

通过三个工程演示整合过程工程一:API工程:服务端与客户端共同需要引入的工程  pom:无特殊依赖,下边内容供服务端与客户端引用此工程使用<groupId>com.boot.dubbo.demo</groupId><artifactId>dubbo-api</artifactId><v... 查看详情

springboot整合dubbo(yml格式配置)

yml文件如果只作为服务的消费者不用暴露端口号,扫描的包名根据自己service改dubbo:application:name:springboot-dubbo-demo#应用名registry:address:zookeeper://127.0.0.1:2181#zookeeper地址#port:2181#提供注册的端口protocol:name:dubboport:"20889"#dubbo服 查看详情

springboot整合dubbo

导入依赖  生产者provider目录  接口IDoSomeService 实现类 IDoSomeServiceImpl  配置文件application.properties  测试类DubboProvider消费者consumer目录  接口类IDoSomeService&n 查看详情