新建3个工程
1.1 新建springboot-dubbo-interface工程
此工程是接口工程,只存放实体类,因此只需创建一个普通的maven工程
1.1.1 新建实体类User
新建User,并定义一些变量

1.1.2 新建UserService类
新建UserService,并写一个findUser()方法

1.2 新建服务提供工程
新建服务提供工程“springboot-dubbo-service-provider”,此工程为springboot工程
1.2.1 导入依赖
<dependencies>
<!--SpringBoot框架web项目起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.7</version>
</dependency>
<!--Dubbo集成SpringBoot起步依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<!--zookeeper注册中心依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-zookeeper</artifactId>
<version>3.1.0</version>
</dependency>
<!--接口工程依赖-->
<dependency>
<groupId>com.xxx</groupId>
<artifactId>springboot-dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
1.2.2 新建UserServiceImpl类
import com.xxx.xxx.service.UserService; // 导入接口工程的UserService
import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
@Service(version = "1.0.0", timeout = 10000)
@Component
public class UserServiceImpl implements UserService {
@Override
public String findUser() {
return "用户[ user1001 ]";
}
}
1.2.3 配置文件application.properties
#设置端口号
server.port=8080
#设置dubbo的配置
#服务提供者声明名称:必须保证服务名称的唯一性,它的名称是dubbo内部使用的唯一标识
spring.application.name=springboot-dubbo-service-provider
#指定zookeeper注册中心地址和端口号
dubbo.registry.address=zookeeper://localhost:2181
1.2.4 启动类
启动类增加@EnableDubbo注解
1.3 新建服务消费工程
新建服务消费工程“springboot-dubbo-consumer”,此工程为springboot工程
1.3.1 导入依赖
<dependencies>
<!--SpringBoot框架web项目起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.7</version>
</dependency>
<!--Dubbo集成SpringBoot起步依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<!--zookeeper注册中心依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-zookeeper</artifactId>
<version>3.1.0</version>
</dependency>
<!--接口工程依赖-->
<dependency>
<groupId>com.xxx</groupId>
<artifactId>springboot-dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
1.3.2 新建controller,UserController
import com.xxx.sdi.service.UserService;
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/user")
public class UserController {
@Reference(interfaceClass = UserService.class, version = "1.0.0")
private UserService userService;
@RequestMapping("/findUser")
@ResponseBody
public String findUser() {
System.out.println("访问了!!!");
return this.userService.findUser();
}
}
1.3.3 配置文件application.properties
#端口号
server.port=8081
#设置dubbo的配置
#服务提供者声明名称:必须保证服务名称的唯一性,它的名称是dubbo内部使用的唯一标识
spring.application.name=springboot-dubbo-consumer
#指定zookeeper注册中心地址和端口号
dubbo.registry.address=zookeeper://localhost:2181
1.3.4 启动类
启动类增加@EnableDubbo注解
至此demo工程建立完毕,还需要下载zookeeper才能运行
2. 下载zookeeper
参考:https://yjtzfywh.blog.csdn.net/article/details/127792052?spm=1001.2014.3001.5506
3. 测试
3.1 启动zookeeper
在zookeeper的bin目录下双击“zkServer.cmd”文件

3.2 启动工程
(1)启动服务提供者工程“springboot-dubbo-service-provider”
(2)启动服务消费者工程“springboot-dubbo-consumer”
3.3 访问接口

成功!
(后续补充需要注意的地方)
版权声明:本文为weixin_45050237原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。