首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >dubbo(2.7.3) 13.注解配置

dubbo(2.7.3) 13.注解配置

作者头像
程序员朱永胜
发布2023-12-18 13:20:54
发布2023-12-18 13:20:54
2310
举报

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

以注解配置的方式来配置你的 Dubbo 应用

提示

需要 2.6.3 及以上版本支持。 点此查看 完整示例[1]

服务提供方

Service注解暴露服务
代码语言:javascript
复制
@Service
public class AnnotationServiceImpl implements AnnotationService {
    @Override
    public String sayHello(String name) {
        return "annotation: hello, " + name;
    }
}
增加应用共享配置
代码语言:javascript
复制
# dubbo-provider.properties
dubbo.application.name=annotation-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
指定 Spring 扫描路径
代码语言:javascript
复制
@Configuration
@EnableDubbo(scanBasePackages = "org.apache.dubbo.samples.simple.annotation.impl")
@PropertySource("classpath:/spring/dubbo-provider.properties")
static public class ProviderConfiguration {

}

服务消费方

Reference注解引用服务
代码语言:javascript
复制
@Component("annotationAction")
public class AnnotationAction {

    @Reference
    private AnnotationService annotationService;

    public String doSayHello(String name) {
        return annotationService.sayHello(name);
    }
}
增加应用共享配置
代码语言:javascript
复制
# dubbo-consumer.properties
dubbo.application.name=annotation-consumer
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.consumer.timeout=3000
指定 Spring 扫描路径
代码语言:javascript
复制
@Configuration
@EnableDubbo(scanBasePackages = "org.apache.dubbo.samples.simple.annotation.action")
@PropertySource("classpath:/spring/dubbo-consumer.properties")
@ComponentScan(value = {"org.apache.dubbo.samples.simple.annotation.action"})
static public class ConsumerConfiguration {

}
调用服务
代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ConsumerConfiguration.class);
    context.start();
    final AnnotationAction annotationAction = (AnnotationAction) context.getBean("annotationAction");
    String hello = annotationAction.doSayHello("world");
}
参考资料

[1]

完整示例: https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-annotation

本文由 mdnice 多平台发布

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 提示
  • 服务提供方
    • Service注解暴露服务
    • 增加应用共享配置
    • 指定 Spring 扫描路径
  • 服务消费方
    • Reference注解引用服务
    • 增加应用共享配置
    • 指定 Spring 扫描路径
    • 调用服务
    • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档