父子工程,父类是 quickstart生产者与消费者是Spring Initializr

(1.)生产者目录

 

 

   

(2.)创建生产者pom依赖

<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>
<dependency>
    <groupId>com.alibaba.spring.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

 

(1. )创建生产者service接口

package com.qzy.provide_consumer.service;

public interface IDoSomeService {
    public String sayHi();
}

(2. )创建生产者serviceimpl

package com.qzy.provide_consumer.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.qzy.provide_consumer.service.IDoSomeService;
import org.springframework.stereotype.Component;

//利用Dubbo暴露出一个接口
@Service(interfaceClass= IDoSomeService.class)
@Component
public class IDoSomeServiceImpl implements IDoSomeService {
    @Override
    public String sayHi() {
        System.out.println("生产者生产的IDoSomeService服务,中的sayHi方法");
        return "SpringBoot Dubbo";
    }
}

(3. )配置application.properties

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

(4. )测试类

package com.qzy.provide_consumer;

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

@SpringBootApplication
@EnableDubboConfiguration
public class SpringbootDubboProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDubboProviderApplication.class, args);
        System.out.println("Dubbo接口暴露成功~");
    }

}

(5. )启动   启动前打开zookeeper

 

 

 

 

(8.)消费者目录

 

 

 

(9.)创建消费者pom依赖 和 生产者一样

<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>
<dependency>
    <groupId>com.alibaba.spring.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

(10. )创建消费者service接口

package com.qzy.provide_consumer.service;

public interface IDoSomeService {
    public String sayHi();
}

 

(11.)创建消费者Controller

package com.qzy.provide_consumer.controller;

import com.alibaba.dubbo.config.annotation.Reference;
import com.qzy.provide_consumer.service.IDoSomeService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DubboController {
    @Reference
    private IDoSomeService iDoSomeService;

    @RequestMapping("/dubbo")
    public String dubbo(){
        String returnValue = iDoSomeService.sayHi();
       return returnValue;
    }
}

(12.)配置application.properties  记得改端口号

spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181


server.port=8081

 

(13. )测试

package com.qzy.provide_consumer;

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

@SpringBootApplication
@EnableDubboConfiguration
public class SpringbootDubboConsumerApplication {

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

}

 

 

 

生产者会把输出的话打印出来

 

posted on 2019-12-14 16:07  朝秦暮楚·  阅读(242)  评论(0编辑  收藏  举报