SpringBoot2集成Dubbo


使用的SpringBoot的版本是

2.1.3.RELEASE

 首先添加Dubbo相關依賴

<!--引入dubbo的依賴 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.4</version>
            <optional>true</optional>
        </dependency>
        <!-- 引入zookeeper的依賴 -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

然后新建項目-api項目-該項目需要一個接口即可,然后使用maven命令達成jar包,安裝到本地倉庫中

package com.voole.service;

public interface IndexService {
    
    public String index(String message);

}

新建生產者項目,添加dubbo相關依賴,

添加api包的依賴,添加接口實現類

package com.voole.platform.app;


import org.springframework.stereotype.Component;

import com.alibaba.dubbo.config.annotation.Service;
import com.voole.service.IndexService;

@Component
@Service(version="1.0.0",interfaceClass=IndexService.class)
public class IndexServiceImpl implements IndexService {
    
    @Override
    public String index(String message) {
        System.out.println(message);
        return message+"-yes";
    }

}

啟動類中添加注解信息

@EnableDubbo

配置文件中添加配置信息

dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181
dubbo.registry.id=dubbo-provider
dubbo.application.name=dubbo-provider
dubbo.scan.base-packages=com.voole.business
dubbo.protocol.port=20882
dubbo.protocol.name=dubbo
dubbo.protocol.status=server
dubbo.protocol.id=dubbo

新建消費者項目,添加dubbo依賴,api項目包依賴

配置文件中添加配置信息

# dubbo config
dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181
dubbo.registry.id=dubbo-consumer
dubbo.application.name=dubbo-consumer

啟動類中添加相關注解信息

@EnableDubbo
@DubboComponentScan(basePackages= {"com.voole.service"})

之后在想調用的地方添加

@Reference(check=false)
private IndexService indexService;

就可以使用了。(zk用的是本地,測試的時候記得啟動zk)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM