百行代码完成Dubbo使用

废话不多说直接上代码

项目目录

├─.idea
├─apache-dubbo-consumer
│  ├─src
│  │  ├─main
│  │  │  ├─java
│  │  │  │  └─com
│  │  │  │      └─mrduan
│  │  │  └─resources
├─apache-dubbo-interface
│  ├─src
│  │  ├─main
│  │  │  ├─java
│  │  │  │  └─com
│  │  │  │      └─mrduan
│  │  │  │          └─service
│  │  │  └─resources
├─apache-dubbo-provider
│  ├─src
│  │  ├─main
│  │  │  ├─java
│  │  │  │  └─com
│  │  │  │      └─mrduan
│  │  │  │          └─service
│  │  │  │              └─impl
│  │  │  │                  └─com
│  │  │  │                      └─mrduan
│  │  │  │                          └─service
│  │  │  └─resources
└─src
    ├─main
    │  ├─java
    │  └─resources
    └─test
        └─java

maven坐标



    4.0.0

    org.example
    apache-dubbo
    pom
    1.0-SNAPSHOT
    
        apache-dubbo-provider
        apache-dubbo-consumer
        apache-dubbo-interface
    
    
        
            junit
            junit
            3.8.1
            test
        
        
            com.alibaba
            dubbo
            2.6.6
        
        
            org.apache.zookeeper
            zookeeper
            3.4.10
        
        
            com.101tec
            zkclient
            0.5
        
        
            io.netty
            netty-all
            4.1.32.Final
        
        
            org.apache.curator
            curator-framework
            2.8.0
        
        
            org.apache.curator
            curator-recipes
            2.8.0
        
    

服务端

服务端只需要做4件事情
1.编写业务代码实现业务接口在apache-dubbo-interface中定义接口
然后在服务端和消费端都能引用的到

package com.mrduan.service;

public interface IProviderService {

    String sayHello(String name);

}

2.在服务端编写接口实现 apache-dubbo-provider

package com.mrduan.service.impl;

import com.mrduan.service.IProviderService;

public class ProviderServiceImpl implements IProviderService {
    public String sayHello(String name) {
        return "hello," + name;
    }
}

3.编写配置文件




    
    
        
        
        
    

    

    
    

    

    
    

    
    

    
    


4.启动zk

在这里插入图片描述

5.编写启动类

package com.mrduan.service.impl.com.mrduan.service;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

public class ProviderStarter {

    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("provider.xml");
        applicationContext.start();
        System.in.read();
    }
}

到次我们就可以启动项目了,执行main方法即可


在这里插入图片描述

消费端

1.编写配置文件




    
    
    
    
    
    

    
    
    
    

2.编写启动类

package com.mrduan;

import com.mrduan.service.IProviderService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

public class ComsumerStarter {
    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("consumer.xml");
        applicationContext.start();
        IProviderService bean = applicationContext.getBean(IProviderService.class);
        String bruce = bean.sayHello("Bruce");
        System.out.println(bruce);
        System.in.read();
    }
}

测试成功

在这里插入图片描述

到此dubbo使用完成
参考文档
项目代码

如需自己编写微服务框架,可以参考
Netty手动实现Dubbo(含视频教程)

你可能感兴趣的:(百行代码完成Dubbo使用)