简述Dubbo 如何集成 Spring Boot ?
Dubbo 可以很容易地集成到 Spring Boot 应用程序中。以下是一些集成步骤:
- 添加 Dubbo 和 Spring Boot 相关依赖。在项目的
pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- 在 Spring Boot 主类上添加
@EnableDubbo
注解以启用 Dubbo 支持。
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableDubbo // 启用 Dubbo 支持
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 创建服务提供者接口和实现类。例如,创建一个
HelloService
接口和对应的实现类HelloServiceImpl
。 - 在
application.properties
或application.yml
文件中配置 Dubbo 相关属性。例如:
dubbo.application.name=provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
- 在服务消费者应用程序中,添加 Dubbo 和 Spring Boot 相关依赖,并添加
@Reference
注解来引用服务提供者中的服务。例如:
“`java
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.HelloService;
@EnableDubbo // 启用 Dubbo 支持
@RestController
public class ConsumerController {
@Reference // 引用远程服务提供者中的 HelloService 接口实现类,生成本地代理对象 HelloServiceProxy,并注入到本类中,以供调用远程服务。
private HelloService helloService;
@GetMapping("/hello") public String hello() { return helloService.sayHello(); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } ) ); }); }); }); }); }); }); }); }); }); }); }); }); }); }); };
“`