dubbo与springboot的三种整合方式

lina2014      2022-04-16     300

关键词:

SpringBoot与dubbo整合的三种方式:
1、导入dubbo-starter,在application.properties配置属性,使用@Service暴露服务,使用@Reference引用服务,
使用@EnableDubbo开启dubbo注解(或者在application.properties中配置dubbo.scan.base-packages=com.lina02.gmall)
2、保留dubbo.xml配置文件;导入dubbo-starter,使用@ImportResource导入dubbo的配置文件即可
3、使用注解API的方式:将每一个组件手动创建到容器中,让dubbo来扫描其他的组件

配置类如下:

package com.lina02.gmall.config;

import com.alibaba.dubbo.config.*;
import com.lina02.gmall.service.UserService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class MyDubboConfig {

    //<dubbo:application name="user-service-provider"></dubbo:application>
    @Bean
    public ApplicationConfig applicationConfig(){
        ApplicationConfig applicationConfig=new ApplicationConfig();
        applicationConfig.setName("boot-user-service-provider");
        return applicationConfig;
    }

    //<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"></dubbo:registry>
    @Bean
    public RegistryConfig registryConfig(){
        RegistryConfig registryConfig=new RegistryConfig();
        registryConfig.setProtocol("zookeeper");
        registryConfig.setAddress("127.0.0.1:2181");
        return registryConfig;
    }

    //<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
    @Bean
    public ProtocolConfig protocolConfig(){
        ProtocolConfig protocolConfig=new ProtocolConfig();
        protocolConfig.setName("dubbo");
        protocolConfig.setPort(20882);
        return protocolConfig;
    }

    /**
     * <dubbo:service interface="com.lina02.gmall.service.UserService" ref="userServiceImpl" timeout="1000" version="1.0.0">
     *      <dubbo:method name="getUserAddressList" timeout="1000"></dubbo:method>
     * </dubbo:service>
     */
    @Bean
    public ServiceConfig<UserService> userServiceServiceConfig(UserService userService){
        ServiceConfig<UserService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(UserService.class);
        serviceConfig.setRef(userService);
        serviceConfig.setVersion("1.0.0");

        //配置每一个method的信息
        MethodConfig methodConfig = new MethodConfig();
        methodConfig.setName("getUserAddressList");
        methodConfig.setTimeout(1000);

        //将method的设置关联到service配置中
        List<MethodConfig> methods = new ArrayList<>();
        methods.add(methodConfig);
        serviceConfig.setMethods(methods);

        return serviceConfig;
    }
}

开启dubbo扫描组件:

@DubboComponentScan(basePackages = "com.lina02.gmall")

或者

@EnableDubbo(scanBasePackages = "com.lina02.gmall")





springboot与dubbo整合入门(三种方式)(代码片段)

Springboot与Dubbo整合三种方式详解整合环境:jdk:8.0dubbo:2.6.2springboot:2.1.5项目结构:1、搭建项目环境:  (1)创建父项目与三个子项目,创建项目时,都使用springinitializr,创建时,父项目中注意的一点:    (2)创建三个子... 查看详情

dubbo从入门到精通与springboot集成的三种方式(十一)(代码片段)

1 方式一(注解方式)导入dubbo-starter,在application.properties配置属性,使用@Service【暴露服务】使用Reference【引用服务】新版本的dubbo 是@DubboService 和@DubboReference然后在启动类上面 标 @EnableDubbo 开启基于注解的du... 查看详情

springboot整合dubbo的第三种方式——xml配置+@importresource

...官方文档2.三个工程2.1公共接口工程参考这篇文章:SpringBoot整合Dubbo的第一种方式2.2服务提供者首先我们注释掉配置文件中的相关内容,只留下应用名(不留也可以)。spring.application.name=boot-user-service-provider#dubb... 查看详情

springboot整合dubbo的第三种方式——xml配置+@importresource(代码片段)

...官方文档2.三个工程2.1公共接口工程参考这篇文章:SpringBoot整合Dubbo的第一种方式2.2服务提供者首先我们注释掉配置文件中的相关内容,只留下应用名(不留也可以)。spring.application.name=boot-user-service-provider#dubb... 查看详情

上手springboot项目之springboot整合mybatis进行增删改查的三种方式。

1.引入依赖<!--springboot的web起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--Myba 查看详情

springboot整合mybatis实现数据库操作的三种方式

前提:使用MySql数据库一、引进依赖方式一:在构建项目时,通过选择方式引入方式二:配置pom.xml方式<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter&l 查看详情

springboot整合mybatis实现数据库操作的三种方式(代码片段)

前提:使用MySql数据库一、引进依赖方式一:在构建项目时,通过选择方式引入方式二:配置pom.xml方式<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter&l 查看详情

手把手教你dubbo与springboot常用两种方式整合

一、Dubbo整合SpringBoot的方式(1) 1)直奔主题,方式一:  pom.xml中引入dubbo-starter依赖,在application.properties配置属性,使用@Service【暴露服务】使用@Reference【引用服务】,选取的是application.properties+部分注解的方式来完成。 ... 查看详情

springboot与dubbo整合

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

springboot整合dubbo注解方式

工程结构:主pom<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/ 查看详情

jap和spring整合的三种方式

 JPA是JavaEE5规范之一,是一个orm规范,由厂商来实现该规范。目前有hibernate,OpenJPA,TopLink和EclipseJPA等实现   Spring提供三种方法集成JPA:1、LocalEntityManagerFactoryBean:适用于那些仅使用JPA进行数据访问的项目。该Facto... 查看详情

springboot读取配置文件的三种方式

方式一:@Configuration//@PropertySource("classpath:jdbc.properties")//@PropertySource("classpath:config/jdbc222222.properties")@PropertySources({@PropertySource("classpath:jdbc.properties"),@PropertySourc 查看详情

springboot与dubbo整合遇到的坑

整合环境:dubbo2.6.2springboot2.1.5遇到的问题:服务一直无法注册到zookeeper注册中心项目结构:使用application.properties文件:配置都没问题,启动的时候也没有明显的错误;然后就去百度看到大部分都是这种配置,之后在一篇博客中... 查看详情

springboot获取yml内容的三种方式

参考技术Aspringboot中有三种方式可以获取yml配置文件中的配置内容。yml如下注意,使用ConfigurationProperties后可能会有如下报错:虽不影响运行,但是很碍眼,可通过在springboot项目的pom文件中添加如下依赖解决:分别访问三个测试... 查看详情

springboot整合dubbo

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

springboot整合dubbo的第二种方式——api(自定义configuration配置类)

...官方文档2.三个工程2.1公共接口工程参考这篇文章:SpringBoot整合Dubbo的第一种方式2.2服务提供者首先我们注释掉配置文件中的相关内容,只留下应用名(不留也可以)。spring.application.name=boot-user-service-provider#dubb... 查看详情

springboot整合dubbo

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

springboot整合消息队列——rabbitmq

...息路由到bindingkey与routingkey模式匹配的队列中。这里基于springboot整合​​消息队列​​,测试这 查看详情