ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dubbo第一个小案例

2021-07-19 18:33:14  阅读:123  来源: 互联网

标签:dubbo 第一个 boot springframework 案例 org public name


1、安装好zookeeper并启动

2、创建服务提供方项目------》dubbo01-provider

2.1、引入pom依赖

<properties>
    <java.version>1.8</java.version>
    <dubbo.version>2.7.1</dubbo.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-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- Aapche Dubbo -->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>${dubbo.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo</artifactId>
        <version>${dubbo.version}</version>
    </dependency>

    <!--  分页插件 https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.12</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>4.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>4.2.0</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.4.14</version>
    </dependency>
</dependencies>

2.2、创建service和实现类

package com.mashibing.db1.service;

/**
 * 描述
 *
 * @author 关
 * @version 1.0
 * @date 2021/07/19 11:43:09
 */
public interface DemoService {
    String sayHello(String name);
}
import org.springframework.stereotype.Component;

/**
 * 描述
 *
 * @author 关
 * @version 1.0
 * @date 2021/07/19 11:43:43
 */
@Service(version = "1.0.0",timeout = 1000,interfaceClass = DemoService.class)
@Component
public class DemoServiceImp implements DemoService{
    @Override
    public String sayHello(String name) {
        System.out.println(name+"说:hello");
        return name+"hello";
    }
}

2.3、创建配置文件

server:
  port: 8081
spring:
  application:
    name: DemoProvider
dubbo:
  scan:
    base-packages: com.mashibing.db1.service
  protocol:
    name: dubbo
    port: 28081
    host: 192.168.253.44
  registry:
    address: zookeeper://192.168.174.129:2181

2.4、记得在启动类上添加@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

package com.mashibing;

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

/**
 * @author grey
 */
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class Dubbo01ProviderApplication {

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

}

3、创建消费者项目------》dubbo01-customer

3.1、创建application.properties配置文件
spring.application.name=DemoCustomer
dubbo.scan.base-packages=com.msb.db1.service

dubbo.registry.address=zookeeper://192.168.174.129:2181
3.2、创建需要调用的服务
package com.mashibing.db1.service;

public interface DemoService {

    String sayHello(String name);

}
3.3、在当前模块进行调用
package com.mashibing.db1.service;

import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 描述
 *
 * @author 关
 * @version 1.0
 * @date 2021/07/19 12:51:16
 */
@RestController
@RequestMapping("/dubbo")
public class HelloController {
    @Reference(version = "1.0.0")
    DemoService demoService;

    @RequestMapping("/say")
    public String say(){
        System.out.println("say----");
        return demoService.sayHello("hello dubbo");
    }
}

3.4、切记在启动类上添加@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)注解

标签:dubbo,第一个,boot,springframework,案例,org,public,name
来源: https://blog.csdn.net/weixin_42606709/article/details/118908194

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有