继上一章基础上,完成服务消费者配置。

服务消费配置

模块创建

  1. 创建模块,命名为 ruoyi-admin, 使用spring initizali创建
  2. 引入依赖

    <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
 */
public interface DemoService {

    public String sayHello(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
 */
@Controller
public class DemoController {
    @Reference
    private DemoService demoService;

    @RequestMapping("/say")
    @ResponseBody
    public String say(){
        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不同

验证服务消费者配置是否成功

  1. 执行 服务提供者的 main方法
  2. 执行 服务消费者的main方法
  3. 登录到 dubbo监控中心,地址:http://192.168.3.120:8080/dubbo 用户名密码都是 root
  4. 配置成功截图

    在这里插入图片描述
  5. 访问前台
    在这里插入图片描述
Logo

快速构建 Web 应用程序

更多推荐