Spring Boot实现Dubbo+Zookeeper
服务提供者
pom文件
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.6</version>
</dependency>
<!-- zookeeper依赖 -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.6</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
定于服务层接口
package com.example.springbootdobboprovider.service;
public interface IHelloService {
void print();
}
实现服务层接口
package com.example.springbootdobboprovider.service.impl;
import com.example.springbootdobboprovider.service.IHelloService;
import org.apache.dubbo.config.annotation.Service;
@Service
public class IHelloServiceImpl implements IHelloService {
@Override
public void print() {
System.out.println("连接成功");
}
}
服务层application.properties
dubbo.scan.base-packages=com.example.springbootdobboprovider.service.impl
# Dubbo Application
## The default value of dubbo.application.name is ${spring.application.name}
dubbo.application.name=dubbo-provider
# Dubbo Protocol
dubbo.protocol.name=dubbo
dubbo.protocol.port=20800
## Dubbo Registry
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.registry.timeout=20000
服务消费者
pom文件
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.6</version>
</dependency>
<!-- zookeeper依赖 -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.6</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 提供者依赖依赖 -->
<dependency>
<groupId>com.example</groupId>
<artifactId>spring-boot-dobbo-provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
//引入Dubbo依赖
@Reference
private IHelloService iHelloService;
//调用提供者
iHelloService.print();
消费者application.properties
#消费者名称,可任意抒写
dubbo.application.name=consumer
#zookeeper地址及端口号
dubbo.registry.address=zookeeper://127.0.0.1:2181
#消费方 调用 服务费 @Reference注入 所在包位置
dubbo.scan.base-packages=com.tanchengjin.blog.web.controller