点击 File 》New》 Project 创建项目
先创建dubbo生产者,根据下图创建
填写项目名、结构名
选择所用版本号,建议使用2.0.7版本、然后选择生产者的依赖关系
填写项目创建地址
在生产者pom.xml文件中加入dubbo和zookeeper的依赖关系
<!--dubbo 依赖 -->
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- zookeeper client依赖 -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
在生产者application中进行配置(如下)
#tomcat端口号
server.port=8080
#mysql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/2018?useUnicode=true&characterEncoding=utf8&useSSL=true&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
# Specify the DBMS
spring.jpa.database = MYSQL
#指定Date时间类型输出格式为yyyy-MM-dd HH:mm:ss;
spring.jackson.date-format=yyyy-MM-dd
#指定时区,解决8小时的时间差问题
spring.jackson.time-zone=GMT+8
#在application.properties中配置
#配置dubbo服务提供者
#服务名称
spring.dubbo.application.name=provider
spring.dubbo.server=true
#注册中心地址
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo 协议
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
#mapper
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
在启动项目出配置一下两个注解()
@MapperScan("com.jk.mapper")
@EnableDubboConfiguration
注意service实现类中,@service导入的是dubbo注解,UserService为接口
@Service(interfaceClass = UserService.class)
接下来创建消费者consumer
之前操作都一样,到如图这一步,只需要选择这几个依赖就可以了
生产者和消费者application、pom.xml导入一样的东西
zookeeper的配置换成如下代码
#配置dubbo消费者
spring.dubbo.application.name=consumer
#配置注册中心
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo协议
spring.dubbo.procotol.name=dubbo
spring.dubbo.procotol.port=20880
#消费者启动检测生产者是否已启动,当值为true时才会检测,默认为true
spring.dubbo.consumer.check=false
#roundrobin轮询机制
#random #随机机制
#leastactive #最少活跃调用数机制
spring.dubbo.reference.loadbalance=roundrobin
注意
生产者controller层注入时使用@Reference注解,导dubbo包
import com.alibaba.dubbo.config.annotation.Reference;