# dubbo_demo1
**Repository Path**: penggebest/dubbo_demo1
## Basic Information
- **Project Name**: dubbo_demo1
- **Description**: dubbo 的一个入门学习的例子
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-09-02
- **Last Updated**: 2021-06-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# dubbo_demo1
#### 项目介绍
dubbo 的一个入门学习的例子
ss
> Apache Dubbo Apache Dubbo™ (incubating)是一款高性能Java RPC框架。下午重新整理一下,纪录下来
1、eclipse 建立一个maven项目

```
4.0.0
dubbolangtutu
dubbolangtutu
0.0.1-SNAPSHOT
jar
dubbolangtutu
http://maven.apache.org
UTF-8
com.alibaba
dubbo
2.6.1
junit
junit
3.8.1
test
org.apache.zookeeper
zookeeper
3.4.6
org.slf4j
slf4j-log4j12
log4j
log4j
org.apache.curator
curator-client
2.11.0
org.apache.curator
curator-framework
2.11.0
```
2、建立接口和对应实现类
GreetingService 接口
```
package dubbolangtutu.dubbolangtutu.service;
public interface GreetingService {
public String sayHello(String name);
}
```
GreetingServiceImpl 实现类
```
package dubbolangtutu.dubbolangtutu.service;
public class GreetingServiceImpl implements GreetingService {
public String sayHello(String name) {
return "Hello " + name;
}
}
```
2、新建生产者
```
package dubbolangtutu.dubbolangtutu;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.ServiceConfig;
import dubbolangtutu.dubbolangtutu.service.GreetingService;
import dubbolangtutu.dubbolangtutu.service.GreetingServiceImpl;
import java.io.IOException;
public class Provider {
public static void main(String[] args) throws IOException {
ServiceConfig serviceConfig = new ServiceConfig();
serviceConfig.setApplication(new ApplicationConfig("first-dubbo-provider"));
serviceConfig.setRegistry(registry());
serviceConfig.setInterface(GreetingService.class);
serviceConfig.setRef(new GreetingServiceImpl());
serviceConfig.export();
System.in.read();
}
public static RegistryConfig registry() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("127.0.0.1:2181");
registryConfig.setProtocol("zookeeper");
return registryConfig;
}
}
```
3、新建消费者
```
package dubbolangtutu.dubbolangtutu;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import dubbolangtutu.dubbolangtutu.service.GreetingService;
public class Consumer {
public static void main(String[] args) {
ReferenceConfig referenceConfig = new ReferenceConfig();
referenceConfig.setApplication(new ApplicationConfig("first-dubbo-consumer"));
referenceConfig.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
referenceConfig.setInterface(GreetingService.class);
GreetingService greetingService = referenceConfig.get();
System.out.println(greetingService.sayHello("world"));
}
}
```
4、启动zookeeper

5、启动生产者 ,然后启动消费者 查看输出
消费者启动:
```
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hello world
```
附件:
[https://gitee.com/penggebest/dubbo\_demo1](https://gitee.com/penggebest/dubbo_demo1)