总结使用SpringBoot+Dubbo创建服务提供者项目和服务消费者项目的流程
这是我学习的笔记,有什么不对请帮忙指出来
(1)总结使用SpringBoot+Dubbo创建服务提供者项目的流程
-
①创建SpringBoot项目作为项目提供者,Spring+Mybatis,不需要提供web的依赖
注:因为是作为项目提供者使用,所以基于安全性的考虑,只需要提供给消费者 调用就行,或者说只需要暴露给公司内部的项目使用就行。
-
②在pom.xml文件中添加依赖
- SpringBoot的启动器依赖
- Dubbo的启动器依赖
- Zookeeper的客户端依赖(类似Mysql的驱动包)
<!--继承SpringBoot项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.10.RELEASE</version>
</parent>
<dependencies>
<!--SpringBoot的启动器依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.1.10.RELEASE</version>
</dependency>
<!--dubbo的依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!--zk的依赖-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
-
③创建包结构
-
service层:声明业务层接口,对消费者暴露的接口
-
serviceImpl层:声明具体的业务实现代码。
注:使用Dubbo的Service注解,表明为该业务类对象为远程暴露的对象
-
mapper层:数据库操作
-
pojo层:实体类
-
-
④创建application.yml文件
##配置Zookeeper的连接信息
dubbo:
application:
name: dubbo-provider
registry:
address: zookeeper://192.168.195.130:2181
##配置服务提供者的端口号
protocol:
port: 20880
-
⑤创建SpringBoot的启动器
注意:使用@EnableDubbo注解启动Dubbo功能
@SpringBootApplication
@EnableDubbo
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class,args);
}
}
- ⑥启动项目
(2)总结使用SpringBoot+Dubbo创建服务消费者项目的流程
- ① 创建SpringBoot项目,在pom.xml文件中添加依赖
- web启动器依赖
- mybatis启动器依赖
- Dubbo的启动器依赖
- Zookeeper的依赖
<!--继承SpringBoot项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.10.RELEASE</version>
</parent>
<dependencies>
<!--配置web启动器依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--dubbo的依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!--zk的依赖-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
-
②创建MVC包结构,同时声明SpringBoot的启动器
注意: 使用@EnableDubbo注解,开启Dubbo的功能
@SpringBootApplication
@EnableDubbo
public class CustomerApplication {
public static void main(String[] args) {
SpringApplication.run(CustomerApplication.class,args);
}
}
-
③在service层创建和服务提供者暴露的接口一致的接口文件
注意:需要和服务端的业务层功能一致
-
④创建application.yml文件,配置Zookeeper的IP地址
dubbo:
application:
name: dubbo-customer
registry:
address: zookeeper://192.168.195.130:2181
- ⑤在业务层实现类中获取远程代理对象完成远程消费
- ⑥启动项目