作者:马金凯
文档版权:Creative Commons 3.0许可证 署名-禁止演绎
为了迎合Spring的所有配置方式,增加了无XML配置实现,在此不对两种方式的优劣做比较,请根据项目的使用习惯做出合理选择。
1. 模块描述
实现Spring的JavaConfig配置方式,使用 Main.main(args)
(需传参javaconfig
设置使用JavaConfigContainer) 启动时可直接扫描dubbo.spring.javaconfig
包下的所有的Spring配置类
2. 使用示例
使用示例在dubbo-demo/dubbo-demo-consumer模块中,相关配置方式参考 注解配置
2.1 代码解释
-
dubbo-demo-consumer/../DubboDemoConsumerConfig
等同于dubbo-demo-consumer/../dubbo-demo-consumer.xml
-
dubbo-demo-consumer/../DubboDemoActionConfig
等同于dubbo-demo-consumer/../dubbo-demo-action.xml
-
dubbo-demo-consumer/../DemoJavaConfigAction
等同于dubbo-demo-consumer/../DemoAction
-
dubbo-demo-consumer/../DemoJavaConfigConsumer
以JavaConfig方式启动示例程序
2.2 示例演示
- 运行dubbo-demo-provider/../DemoProvider
- 运行dubbo-demo-consumer/../DemoJavaConfigConsumer
- 查看console输出
3. 无XML配置
将XML配置方式转换为JavaConfig配置,demo中未涉及到的配置类,请参照 API配置 实现
@Configuration
public class DubboDemoConsumerConfig {
public static final String APPLICATION_NAME = "consumer-of-helloworld-app";
public static final String REGISTRY_ADDRESS = "zookeeper://127.0.0.1:2181";
public static final String ANNOTATION_PACKAGE = "com.alibaba.dubbo.demo.consumer";
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName(APPLICATION_NAME);
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress(REGISTRY_ADDRESS);
return registryConfig;
}
@Bean
public AnnotationBean annotationBean() {
AnnotationBean annotationBean = new AnnotationBean();
annotationBean.setPackage(ANNOTATION_PACKAGE);
return annotationBean;
}
}
相关推荐
9. **API与配置(API & Config)**:Dubbox提供了简洁的API供开发者使用,同时也支持基于XML的配置方式,让服务的声明和调用变得简单直观。 除了以上核心功能,Dubbox源码的阅读可以帮助开发者深入理解其内部实现,...
Dubbox支持完全基于Java代码的配置方式,利用Spring的JavaConfig特性实现了无XML的纯Java配置模式。 #### 三、结论 Dubbox作为Dubbo的扩展版本,不仅保持了Dubbo原有的优势,还在多个方面进行了改进和增强,尤其是...
【Dubbox2.8.4】是阿里巴巴开源的一款基于Java的RPC框架,它在Apache Dubbo的基础上进行了一些改进和增强,旨在提供更加高效、稳定的服务治理能力。这个压缩包包含了Dubbox的jar包以及关于如何安装和使用Dubbox源码...
9. **dubbo-config-spring-2.8.4.jar**:Spring集成模块,方便用户在Spring环境中使用Dubbox,通过XML或注解方式实现服务的声明式配置。 10. **dubbo-remoting-p2p-2.8.4.jar**:点对点通信模块,提供了直接的节点...
10. **配置管理(Config Center)**:Dubbox 可以集成外部配置中心,如 ZooKeeper 或 Apollo,实现动态配置,方便服务的快速更新和管理。 在实际使用 Dubbox2.8.4 时,开发者需要将该版本的 jar 包放入本地 Maven ...
5. **配置(Config)**:Dubbox 提供了灵活的配置方式,可以通过 XML、Java API 或者 Spring 配置来设置服务的元数据。 6. **监控(Monitor)**:对服务的调用情况进行统计和监控,包括调用次数、成功率、耗时等。 ...
本文将对 dubbo 和 dubbox 的核心源码进行深度解析,帮助开发者更好地理解和使用这一高性能、轻量级的 Java RPC 框架。 1. **Dubbo 概述** Dubbo 是阿里巴巴开源的一款分布式服务框架,其核心功能包括服务注册与...
2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率,比如@Configuration和@bean注解结合,基于@Configuration完成类扫描,基于@bean注解把返回值...
7. **配置中心(Config Center)**:除了注册中心,Dubbox 还支持配置中心,动态修改服务配置,使得服务提供者和服务消费者可以实时感知变化。 【项目结构解析】 在 "dubbox-demo-master" 压缩包中,我们可以看到...
MyBatis允许开发者编写动态SQL,通过XML或注解的方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在这个项目中,MyBatis作为数据访问层,处理与数据库...
它通过默认配置和自动配置特性,使得开发者能够快速地创建独立运行的、生产级别的Java应用程序。 集成Dubbox到Spring Boot的步骤如下: 1. **安装Zookeeper**:Zookeeper是Dubbo服务注册与发现的基础,它是一个...
6. **配置文件`config.properties`**: 这个文件通常包含了应用运行所需的配置信息,如数据库连接参数(URL、用户名、密码)、服务地址等。在启动项目之前,你需要根据实际环境修改这些参数,以确保应用能够正确...
- Gradle:另一种构建工具,可以与Maven互换使用,提供更灵活的构建配置。 4. **文档**: - `docs`目录下包含了项目的用户手册、开发者指南以及API文档,是了解和使用Dubbo的重要资源。 5. **测试**: - `tests...
* 配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心 * 服务代理层(Proxy):服务接口透明代理 Dubbo Monitor实现原理: * Dubbo Monitor是基于Invoker的监控机制 * Invoker是Dubbo的...
项目配置文件是任何Java项目的基础,对于Dubbo来说,这通常包括`application.xml`、`dubbo-config.xml`、`registry.conf`等,这些文件定义了服务的元数据、服务提供者和消费者之间的连接信息以及注册中心的配置。...
- Spring Cloud Config或Consul提供集中式配置管理,便于动态调整服务配置。 在选择技术栈时,应考虑以下准则: - 生产级:技术必须成熟稳定,具备良好的可运维性和可治理性。 - 社区活跃度:优先选择一线互联网...
Dubbo内建了JavaConfig、Jetty、Log4j、Logback和Spring等容器的实现。 - **dubbo-config-api**:配置模块,依赖于其他模块,负责整合Dubbo组件并提供给开发者配置。它使得用户可以通过配置文件或API来装配和管理...
3. **Config层**:配置层,提供服务的配置接口。 4. **Proxy层**:代理层,为服务提供动态代理实现。 5. **Registry层**:注册层,负责服务的注册和发现。 6. **Cluster层**:集群层,处理服务的集群策略,如负载...
12. **统一配置中心**:如Spring Cloud Config,用于集中管理所有服务的配置,便于更新和管理。 13. **应用性能管理**:QL-APM(基于Sky-Walking)提供服务跟踪和性能分析,帮助优化系统性能。 14. **平台支撑能力...
- **Spring Cloud Config**:集中化配置管理。 - **Dubbo/GRPC**:RPC框架。 4. **总结** 本节介绍了微服务架构中常见的通信模式、通信协议的选择、RPC框架的选取标准及其流行框架,并讨论了服务发现的两种模式...