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 生成。
标签:Dubbo,String,dubbo,Spring,Boot,application,public,name From: https://www.cnblogs.com/vchat/p/17536044.html