dubbo提供xml、注解、java api、属性文件和spring boot自动配置五种方式,推荐使用spring boot + 注解 + yaml组合,简洁高效,优先级为注解 > xml > properties > 默认值。

Dubbo 提供了多种配置方式,可以根据不同的使用场景灵活选择。主要的配置方式有以下几种:
1. XML 配置
这是 Dubbo 最传统的配置方式,适用于基于 Spring 的项目。通过在 Spring 的 XML 配置文件中定义 Dubbo 的服务提供者、消费者、协议、注册中心等组件。
示例:定义服务提供者:
<dubbo:service interface="com.example.DemoService" ref="demoServiceImpl" />配置注册中心:
<dubbo:registry address="zookeeper://127.0.0.1:2181" />这种方式结构清晰,适合大型项目中统一管理配置。
2. 注解配置
通过 Java 注解简化配置,减少 XML 文件的使用。常用注解包括 @DubboService(或旧版 @Service)和 @DubboReference(或 @Reference)。
在服务实现类上添加:
@DubboService
public class DemoServiceImpl implements DemoService { ... }
在引用方注入远程服务:
@DubboReference private DemoService demoService;需配合
@EnableDubbo 注解启用 Dubbo 功能,适用于 Spring Boot 项目。
3. Java API 配置
通过编程方式直接使用 Dubbo 提供的 API 构建服务或引用,灵活性最高,但代码侵入性强,一般用于测试或特殊场景。
示例:手动创建服务暴露:
ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>(); serviceConfig.setInterface(DemoService.class); serviceConfig.setRef(new DemoServiceImpl()); serviceConfig.export();这种方式不依赖外部配置文件,完全由代码控制。
4. 属性文件配置(.properties)
通过 dubbo.properties 文件进行全局配置,适用于设置公共属性,如应用名、注册中心地址、协议等。
dubbo.application.name=demo-provider dubbo.protocol.name=dubbo dubbo.protocol.port=20880 dubbo.registry.address=zookeeper://127.0.0.1:2181这些属性会自动被 Dubbo 加载,作为默认配置项。
5. Spring Boot 自动配置
在 Spring Boot 项目中,通过 application.yml 或 application.properties 文件进行配置,结合 spring-boot-starter-dubbo 实现自动装配。
dubbo:
application:
name: demo-consumer
registry:
address: zookeeper://127.0.0.1:2181
protocol:
name: dubbo
port: 20880
支持类型安全配置类,开发效率高,是当前主流用法。
基本上就这些。不同配置方式可组合使用,优先级通常为:注解 > XML > properties > 默认值。实际项目中推荐使用 Spring Boot + 注解 + YAML 的方式,简洁高效。










