继上一章基础上,完成服务消费者配置。
服务消费配置
模块创建
- 创建模块,命名为 ruoyi-admin, 使用spring initizali创建
- 引入依赖
<properties><spring-boot.version>2.1.1.RELEASE</spring-boot.version><dubbo.version>2.6.5</dubbo.version></properties><dependencyManagement><dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- Dubbo dependencies --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo-dependencies-bom</artifactId><version>${dubbo.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Dubbo Spring Boot Starter --><dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.1.RELEASE</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>${dubbo.version}</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.12.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>sonatype-nexus-snapshots</id><url>https://oss.sonatype.org/content/repositories/snapshots</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>
补充说明:此次引入的依赖和 服务提供者中的依赖基本一致,此处多引入
spring-boot-starter-web 依赖作为web项目使用。
编写控制层
服务接口
package com.ruoyi.system.service;/**
* @author liangcy
* @create 2019/12/2 - 20:56
*/publicinterfaceDemoService{public StringsayHello(String name);}
前端Controller
package com.ruoyi.web;import com.alibaba.dubbo.config.annotation.Reference;import com.ruoyi.system.service.DemoService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;/**
* @author liangcy
* @create 2019/12/3 - 12:29
*/@ControllerpublicclassDemoController{@Referenceprivate DemoService demoService;@RequestMapping("/say")@ResponseBodypublic Stringsay(){
String result= demoService.sayHello("jetty");return result;}}
补充说明:
@Reference 注解:调用远程服务
application.properties 主配置文件
# 指定当前服务/应用的名字
dubbo.application.name=ruoyi-admin# 指定注册中心位置
dubbo.registry.address=zookeeper://192.168.3.120:2181# 指定通用规则(通信协议?通信端口)
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
补充说明:这个配置和服务提供者的一致,只是 dubbo.application.name不同
验证服务消费者配置是否成功
- 执行服务提供者的 main方法
- 执行服务消费者的main方法
- 登录到 dubbo监控中心,地址:http://192.168.3.120:8080/dubbo 用户名密码都是 root
- 配置成功截图
- 访问前台