使用 Spring Boot 和 Dubbo 进行集成

1. 创建一个 Spring Boot 项目,可以使用 Spring Initializr(https://start.spring.io/)生成一个初始的项目结构。
2. 在 pom.xml 中添加 Dubbo 和相关依赖:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.12</version>
</dependency>

3. 创建一个 Dubbo 服务提供者的接口和实现类:

复制代码
// 服务接口
public interface HelloService {
    String sayHello(String name);
}

// 服务实现类
@Service
public class HelloServiceImpl implements HelloService {
    @Override
    public String sayHello(String name) {
        return "Hello, " + name;
    }
}
复制代码

4. 在 application.properties 或 application.yml 中配置 Dubbo:

# Dubbo 应用名称
dubbo.application.name=your-application-name
# Dubbo 注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
# Dubbo 服务提供者暴露的端口
dubbo.protocol.port=20880

5. 创建一个 Dubbo 服务消费者的接口和实现类:

复制代码
@RestController
public class HelloController {
    @Reference
    private HelloService helloService;

    @GetMapping("/hello")
    public String sayHello(@RequestParam String name) {
        return helloService.sayHello(name);
    }
}
复制代码

6. 运行 Spring Boot 应用,Dubbo 将会自动启动并将服务注册到注册中心。

7. 创建一个 Dubbo 服务消费者的启动类:

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

8. 在 application.properties 或 application.yml 中配置 Dubbo 消费者:

# Dubbo 应用名称
dubbo.application.name=your-consumer-application-name
# Dubbo 注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

9. 编写一个 RestController 来调用 Dubbo 服务:

复制代码
@RestController
public class HelloController {
    @Reference
    private HelloService helloService;

    @GetMapping("/hello")
    public String sayHello(@RequestParam String name) {
        return helloService.sayHello(name);
    }
}
复制代码

10. 运行 Dubbo 服务提供者和 Dubbo 服务消费者的应用。
11. 访问 http://localhost:8080/hello?name=World ,应该能够看到返回的结果 "Hello, World"。
以上是使用 Spring Boot 和 Dubbo 进行集成的完整示例。通过在消费者应用中使用 @Reference 注解引用服务,即可实现对 Dubbo 服务的调用。同时,确保提供者和消费者的配置中都有正确的注册中心地址,以便进行服务的注册和发现。

基于 GPT 生成。

posted @   dersdysbiokecu  阅读(158)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示