A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

目前在很多项目有使用了分布式框架dubbo,而在很多企业,springboot框架 也成为了构建项目时的首选项,现在就用springboot来整合dubbo。
1.先搭建dubbo环境,这个可以在网上搜索或使用项目一的镜像资源
2.创建工程
2.1创建父工程springboot-dubbo-parent,打包方式:pom
添加依赖:
[XML] 纯文本查看 复制代码
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <curator-framework.version>4.0.1</curator-framework.version>
        <zookeeper.version>3.4.13</zookeeper.version>
        <dubbo.starter.version>0.2.0</dubbo.starter.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>${dubbo.starter.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2.2在springboot-dubbo-parent创建子两个子module,分别是springboot-dubbo-interface(jar工程)和springboot-dubbo-service(jar工程),这两个工程中springboot-dubbo-interface主要写接口,springboot-dubbo-service主要写接口的实现类,在springboot-dubbo-service中加入springboot-dubbo-interface的依赖。
[XML] 纯文本查看 复制代码
<dependencies>
        <dependency>
            <groupId>com.springboot</groupId>
            <artifactId>springboot-dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

3.在springboot-dubbo-interface/src/main/java/com.springboot.dubbo.service下创建接口HelloBootDubboService.java
[Java] 纯文本查看 复制代码
public interface HelloBootDubboService {

    public String sayHello();
}

4.在springboot-dubbo-service/src/main/java/com.springboot.dubbo.service.impl下创建HelloBootDubboServiceImpl.java
[Java] 纯文本查看 复制代码
@Service
public class HelloBootDubboServiceImpl implements HelloBootDubboService {
    @Override
    public String sayHello() {
        System.out.println("=========进入服务========");
        return "服务调用成功!";
    }
}

5.在springboot-dubbo-service/src/main/java/com.springboot.dubbo.service.impl下创建启动类App.java
[Java] 纯文本查看 复制代码
@EnableDubbo
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
}

6.在springboot-dubbo-service/src/main/resources配置application.yml文件
[XML] 纯文本查看 复制代码
server:
  port: 8080
dubbo:
  application:
    name: testBoot
    #表示采用dubbo协议
  protocol:
    name: dubbo
    #端口号
    port: 20880
  registry:
    address: zookeeper://192.168.12.131:2181

运行启动类出现下面效果且后续不报错,说明整合成功,在zookeeper注册中心中能够找到服务

7.创建springboot-dubbo-web工程,打包方式jar,加入springboot-dubbo-interface依赖,在src/main/java/com.springboot.dubbo.controller下创建HelloController.java
[Java] 纯文本查看 复制代码
@RestController
public class HelloController {

    @Reference
    private HelloBootDubboService helloBootDubboService;

    @RequestMapping("/hello")
    public String sayHello(){
        return helloBootDubboService.sayHello();
    }
}

8.在springboot-dubbo-web/src/main/java/com.springboot.dubbo.controller下创建启动类App.java
[Java] 纯文本查看 复制代码
@EnableDubbo
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
}

9.在springboot-dubbo-web/src/main/resources配置application.yml文件
[XML] 纯文本查看 复制代码
server:
  port: 8082 #tomcat的端口号
dubbo:
  application:
    name: controller #注册服务名称
  registry:
    address: zookeeper://192.168.12.131:2181
  consumer:
    timeout: 100000 #调用服务的超时时间

10.运行启动类出现springboot标志之后,在监控中心查看消费者,发现已经成功

11.在浏览器中输入localhost:8082/hello


1 个回复

倒序浏览
一个人一座城0.0 来自手机 中级黑马 2018-12-7 08:08:27
沙发
到此一观
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马