如何使用dubbo+dubbo快速入门记录

最近在看dubbo框架,做一下自己的学习成果记录。

一、provider端
二、consumer端
三、公共代码-api.jar

转发请注明该原文地址:https://blog.csdn.net/pro_spect/article/details/85009279

完整项目代码在GitHub:

https://github.com/jhaooli/my_dubbo

思路:

1.新建一个整体的maven项目

2.在maven项目内创建如下三个项目:

—2.1consumer的maven项目

如何使用dubbo+dubbo快速入门记录_第1张图片

consumer端代码:

public class PersonTest {

    public static void main(String[] args) {
        //测试常规服务
        ClassPathXmlApplicationContext context =
                new ClassPathXmlApplicationContext("dubbo-consumer.xml");
        context.start();
        System.out.println("consumer start");
        Person person = context.getBean(QueryService.class).getOnePerson("徐");
        System.out.println("这个人的名字是 "+person.getName());
        System.out.println("person - " + person.toString());

    }

}

—2.2provider的maven项目

这里存放着服务的具体实现方式

如何使用dubbo+dubbo快速入门记录_第2张图片

privider端实现类的代码:

@Service
public class PersonServiceImpl implements QueryService {

    @Override
    public Person getOnePerson(String s) {
        Person person = new Person();
        person.setName(s+randomString());
        return person;
    }

    public String randomString(){
        String str="";
        for(int i=0;i<4;i++){
            char c=(char)(0x4e00+(int) (Math.random()*(0x9fa5-0x4e00+1)));
            str+=c;
        }
        return str;
    }


}

—2.3consur与provider都用到的一些类的代码

,如

xxService类以及其POJO(这个POJO要实现序列化,因为dubbo是一个远程rpc调用框架,经过网络传输)
这个项目就命名为my_dubbo-api好了
如何使用dubbo+dubbo快速入门记录_第3张图片

POJO类:
如何使用dubbo+dubbo快速入门记录_第4张图片

然后写service,
如何使用dubbo+dubbo快速入门记录_第5张图片

参考资料:
【1】序列化知识https://www.cnblogs.com/xdp-gacl/p/3777987.html
【2】JAVA编译问题https://blog.csdn.net/jdjdndhj/article/details/70256989
【3】zkNodeNotFound错误https://blog.csdn.net/HeatDeath/article/details/79174575以及解决该问题引入的依赖查询地址https://mvnrepository.com/artifact/com.101tec/zkclient
【4】具体汉字提供方法https://blog.csdn.net/skyline_ding/article/details/79610722

你可能感兴趣的:(dubbo学习)