spring-boot1.5.6整合dubbo-spring-boot-start2.0.0

项目是在做技术选型时做的Demo,后续没有用到

整个项目的环境搭建

JDK:1.8

maven:3.0.3

工具是使用的IDEA  2018年的

spring-boot:1.5.6RELEASE

dubbo-spring-boot-start:2.0.0

1、首先创建一个maven项目,做API接口   dubbo-api

package com.example.service;

/**
 * @Author 冯浩
 * @Description
 * @Date: create in 16:29 2018/5/23
 * @Modified by
 */
public interface UserService {

    public String sayHello(String message);

}    

2、创建一个spring-boot项目,版本选择1.5.6RELEASE    项目名称dubbo-producer

pom文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>dubbo-producer</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>dubbo-producer</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <dubbo.version>2.0.0</dubbo.version>
        <zk-client.version>0.10</zk-client.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>${zk-client.version}</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>${dubbo.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.example</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

接口实现类为

package com.example.dubboproducer.service;

import com.alibaba.dubbo.config.annotation.Service;
import com.example.service.UserService;
import org.springframework.stereotype.Component;

/**
 * @Author 冯浩
 * @Description
 * @Date: create in 16:38 2018/5/23
 * @Modified by
 */
@Service(interfaceClass = UserService.class,version = "1.0.0")
@Component
public class UserServiceImpl implements UserService {

    @Override
    public String sayHello(String message) {
        return "hahha"+message;
    }
}

启动类添加dubbo自动配置

package com.example.dubboproducer;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubboConfig;
import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableDubboConfiguration
public class DubboProducerApplication {

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

配置文件为

spring.application.name=dubbo-spring-boot-starter

spring.dubbo.server=true

spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.registry.check=false
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880

spring.dubbo.scan=com.example.dubboproducer.service

3、创建一个spring-boot项目,pom文件同上,项目名称dubbo-consumer

调用接口使用类

package com.example.dubboconsumer.service;

import com.alibaba.dubbo.config.annotation.Reference;
import com.example.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author 冯浩
 * @Description
 * @Date: create in 17:08 2018/5/23
 * @Modified by
 */
@RestController
public class UserController {

    @Reference(version = "1.0.0")
    private UserService userService;

    @GetMapping("index")
    public String userTest(String mess){
        return userService.sayHello(mess);

    }
}    

启动类添加dubbo自动配置类

package com.example.dubboconsumer;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubboConfig;
import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableDubboConfiguration
public class DubboConsumerApplication {

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

配置文件

spring.application.name=dubbo-spring-boot-starter
server.port=8081

spring.dubbo.registry.address=zookeeper://localhost:2181
spring.dubbo.scan=com.example.dubboconsumer.service

4、下载zookeeper的window的包,在本地启动

启动dubbo-producer,查询是否注册到注册地址

启动dubbo-consumer,之后在浏览器上http://localhost:8081/index?mess=1进行代码测试

返回信息及调用成功

github项目地址

原文地址:https://www.cnblogs.com/nihaofenghao/p/9088916.html

时间: 2024-10-08 19:32:32

spring-boot1.5.6整合dubbo-spring-boot-start2.0.0的相关文章

spring boot1.3之必须的环境

默认情况下,spring boot1.3必须java7和spring framework4.1.5或者更高的版本,你也可以通过一些额外的配置将spring boot运行在java6上.尽管你能通过java6或java7来运行spring boot,但我们推荐使用java8.另外spring boot1.3明确支持 maven3.2+和gradle1.12+. servlet容器 下列嵌入式servlet容器都是spring boot1.3所支持的. Name                   

Spring Boot 整合 Dubbo和Zookeeper

Spring Boot 整合 Dubbo和Zookeeper Spring Boot 整合 Dubbo和Zookeeper 环境介绍 Zookeeper 安装 启动 Dubbo admin 搭建 创建主maven项目 创建子spring boot项目 环境介绍 zookeeper 安装 dubbo-admin 查看管理注册中心服务提供者和消费者 Zookeeper 安装 http://zookeeper.apache.org/releases.html 下载最新安装包,文件格式是tar.gz,可

Spring Boot 2 整合 Dubbo 框架 ,实现 RPC 服务远程调用

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

构建 Zookeep + Dubbo + Spring Boot 的分布式调用项目(一)

一.写在前头 在开始构建前,默认你已经能够成功安装并启动 Zookeeper 注册中心,能够成功安装并启动 Dubbo 控制台: 在本例中,我的 Zookeeper 注册中心 IP 地址为 192.168.10.41,端口号为 4183,Dubbo 控制台的访问地址为 http://192.168.10.41:8080: 为了体现分布式调用,本例中创建了以下两个项目,dubbo-consumer 远程调用 dubbo-provider 提供的服务: dubbo-provider        

Spring Boot/Spring Cloud、ESB、Dubbo

如何使用Spring Boot/Spring Cloud 实现微服务应用spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB: ESB(企业数据总线),一般采用集中式

Spring Boot 2.0干货系列:(一)Spring Boot1.5X升级到2.0指南

前言Spring Boot已经发布2.0有满久了,多了很多新特性,一些坑也慢慢被填上,最近有空,就把本博客中Spring Boot干货系列对应的源码从1.5X升级到Spring Boot 2.0,顺便整理下升级的时候遇到的一些坑,做个记录.后续的教程就以最新的2.03版本为主.依赖 JDK 版本升级 2.x 至少需要 JDK 8 的支持,2.x 里面的许多方法应用了 JDK 8 的许多高级新特性,所以你要升级到 2.0 版本,先确认你的应用必须兼容 JDK 8. 另外,2.x 开始了对 JDK

Dubbo+Spring整合 教你玩转分布式

核心技术:Maven,Springmvc mybatis shiro, Druid, Restful, Dubbo, ZooKeeper,Redis,FastDFS,ActiveMQ,Nginx Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.FastDFS分布式文件系统.ActiveMQ异步消息中间件.Nginx负载均衡等分布式技术 使用

zookeeper集群+dubbo+Spring整合

一.简介 Dubbo是Alibaba开源的分布式服务框架,它最 大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地 松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提 供方(Provider)和服务消费方(Consumer)两个角色.关于注册中心.协议支持.服务监控等内容.主要核心部件: * Remoting: 网络通信框架,实现了 sync-over-async 和 r

SSM框架Spring+SpringMVC+MyBatis——详细整合教程

摘要: 包括SQL Maps和Data Access ObjectsDAOMyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的... 摘要:   spring MVC属于SpringFrameWork的后续产品已经融合在Spring Web Flow里面.Spring MVC 分离了控制器.模型对... 1.基本概念 1.1.Spring Spring是一个开源框架Spring是于2003 年兴起的一个轻量级的Java 开发框架由Rod Johnson 在其著作Expert 

spring boot1.3之安装

spring boot允许你使用"classic"Java开发工具或者使用命令行工具. 1. 对java开发人员的安装说明 你可以跟使用java标准库一样来使用spring boot.把适当的spring-boot-*.jar放到classpath中,spring boot并不需要任何其他的集成工具,所以你能使用任何IDE和代码编辑器.spring boott程序并不是什么特殊的应用程序,你可以运行并调试你的任何java程序.虽然你可以手工copy spring boot的jar包,但