zoukankan      html  css  js  c++  java
  • SpringBoot整合dubbo

    SpringBoot整合dubbo

    1.Dubbo是一种微服务框架,更多请访问apachedubbo github:https://github.com/apache/dubbo
    2.环境,jdk1.8,zookpeer注册中心, springboot2.1.6; dubbo-spring-boot-starter0.2.0
    3.统一的pom.xml

    <?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>
      <packaging>pom</packaging>
      <modules>
        <module>api-service</module>
        <module>consumer01</module>
      </modules>
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
      </parent>
      <groupId>com.ls</groupId>
      <artifactId>dubbo01</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <name>dubbo01</name>
      <description>springboot整合dubbo</description>
    
      <properties>
        <java.version>1.8</java.version>
      </properties>
    
      <dependencies>
        <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-test</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
    
      <build>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    
    </project>
    
    

    4.dubbo的提供者
    4.1启动类ProvidersApplication

    package com.ls;
    
    import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    
    @EnableDubbo
    @SpringBootApplication
    public class ProvidersApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ProvidersApplication.class);
        }
    
    }
    
    

    4.2实现类HelloServiceImpl

    package com.ls.service.impl;
    
    import com.alibaba.dubbo.config.annotation.Service;
    import com.ls.service.HelloService;
    
    
    @Service //注意是dubbo的service依赖
    public class HelloServiceImpl  implements HelloService {
    
        @Override
        public String sayHello(String name) {
            return name+"我是提供者";
        }
    }
    
    

    4.3application.yml

    spring:
      application:
        name: provider
    server:
      port: 9001
    dubbo:
      application:
        name: provider
      protocol:
        name: dubbo
        port: 20889
      registry:
        address: zookeeper://192.168.157.130:2181
        timeout: 9000
      provider:
        timeout: 1000
    

    5.消费者
    5.1pom.xml

    <?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">
      <parent>
        <artifactId>dubbo01</artifactId>
        <groupId>com.ls</groupId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <modelVersion>4.0.0</modelVersion>
      <artifactId>consumer01</artifactId>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
        <groupId>com.ls</groupId>
        <artifactId>api-service</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </dependency>
    </dependencies>
    </project>
    

    5.2消费者启动类

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

    5.4.HelloController

    package com.ls.controller;
    
    import com.alibaba.dubbo.config.annotation.Reference;
    import com.ls.service.HelloService;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    
    @RestController
    public class HelloController {
        @Reference
        private HelloService helloService;
        @GetMapping("/test")
        public String test(String name){
            String s = helloService.sayHello(name);
            return s;
        }
    }
    
    

    5.5application.yml

    spring:
      application:
        name: consumer
    server:
      port: 9002
    dubbo:
      application:
        name: consumer
      registry:
        address: zookeeper://192.168.157.130:2181
        timeout: 9000
    

    6.先启动zookpeer,zookpeer的安装自己去往搜索一下,启动提供者,然后启动消费者
    在这里插入图片描述
    在这里插入图片描述
    7.访问展示http://localhost:9002/test?name=helllo
    在这里插入图片描述
    dubbo和springboot暂时写到这里源码:github:https://github.com/smileLs66/springboot/tree/master/dubbo01

    参考:https://blog.csdn.net/qq_29102545/article/details/87368620

  • 相关阅读:
    Linux C 编程内存泄露检測工具(二):memwatch
    远程视频监控之驱动篇(按键)
    MATLAB——scatter的简单应用
    【收藏】十大Webserver漏洞扫描工具
    托付和观察者模式
    wireshark过滤语法总结
    2014年度辛星解读css第四节
    unity3D游戏开发十八之NGUI动画
    谈到本场比赛的项目经理
    jsp的原则执行
  • 原文地址:https://www.cnblogs.com/szls-666/p/12494176.html
Copyright © 2011-2022 走看看