使用 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 生成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探