springboot 集成 dubbo

pom 配置
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>com.fred.learning</groupId>
            <artifactId>spring-boot-dubbo-sample-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.7</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>2.7.7</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>
application.properties
# 应用名称
spring.application.name=spring-boot-dubbo-sample-provider

dubbo.protocol.name=dubbo
dubbo.protocol.port=-1

#dubbo.registry.address=nacos://127.0.0.1:8848

# 多注册中心
dubbo.registries.shanghai.address=nacos://127.0.0.1:8848
dubbo.registries.hangzhou.address=zookeeper://127.0.0.1:2181

java代码
@DubboService(registry = {"shanghai","hangzhou"})
public class SayHelloServiceImpl implements ISayHelloService {
    @Override
    public String say(String name) {
        return "[version 1.0] hello," + name;
    }
}

consumer

pom 配置
<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>

<!--        api -->
        <dependency>
            <groupId>com.fred.learning</groupId>
            <artifactId>spring-boot-dubbo-sample-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>


        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.7</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>2.7.7</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
application.properties
# 应用名称
spring.application.name=spring-boot-dubbo-sample-consumer
server.port=8081

# consumer 只需 配置 注册中心地址
#dubbo.registry.address=nacos://127.0.0.1:8848

dubbo.registries.shanghai.address=nacos://127.0.0.1:8848
dubbo.registries.shanghai.default=true

dubbo.registries.hangzhou.address=zookeeper://127.0.0.1:2181


Java 代码
@RestController
@SpringBootApplication
public class SpringBootDubboSampleConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootDubboSampleConsumerApplication.class, args);
    }

    @DubboReference(version = "2.0")
    ISayHelloService sayHelloService;

    @GetMapping("say")
    public String say() {

        return sayHelloService.say("fred");
    }

}
posted @ 2021-07-21 17:44  小烽  阅读(67)  评论(0)    收藏  举报