spring-boot整合dubbo:Spring-boot-dubbo-starter

 更新时间:2017年05月17日 11:12:12   作者:atheva  
这篇文章主要介绍了spring-boot整合dubbo:Spring-boot-dubbo-starter的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

为什么要写这个小工具

如果你用过Spring-boot来提供dubbo服务,相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style。开个玩笑,真正意思是,spring-boot适合一些简单的、独立的服务,一个大的系统是不适合使用spring-boot来开发。相反,spring-boot适合那些简单服务的搭建。 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置。

怎么使用

对于服务的消费者或提供者,使用dubbo内置的注解@Service或@Reference来声明

在application.properties/yml 中配置dubbo的相关参数,例如下面就是一个简单的消费者的配置

dubbo:
 application:
  name: lizo-consumer
 registry:
  address: zookeeper://localhost:12181

在配置类上使用@EnableDubbo(basePackages = "xxx.xxx.xxx") 来开启dubbo的自动配置

经过以上3个步骤,就可以完成对dubbo的配置,是不是很Spring-bootstyle

dubbo-filter

dubbo有很多扩展,其中filter是使用比较多一个。但是用起来很不方便。如果能像Spring boot定义Spring MVC的filter那样简单声明一个bean就好了。恩,其实就是这样。

 @Bean
 ProviderFilter providerFilter() {
  return new ProviderFilter();
 }
 static class ProviderFilter extends AbstractDubboProviderFilterSupport {
  public Result invoke(Invoker<?> invoker, Invocation invocation) {
   System.out.println("ProviderFilter");
   return invoker.invoke(invocation);
  }
 }

更定制化的需求,可以使用Dubbo的@Activate注解来定制化Filter,那么可以这样

 @Bean
 CustomFilter customFilter() {
  return new CustomFilter();
 }
 @Activate(group = Constants.PROVIDER)
 static class CustomFilter extends AbstractDubboFilterSupport {
  public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
   System.out.println("ProviderFilter2");
   return invoker.invoke(invocation);
  }
  public Filter getDefaultExtension() {
   return this;
  }
 }

以上所述是小编给大家介绍的spring-boot整合dubbo:Spring-boot-dubbo-starter,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot整合MP通过Redis实现二级缓存方式

    SpringBoot整合MP通过Redis实现二级缓存方式

    这篇文章主要介绍了SpringBoot整合MP通过Redis实现二级缓存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • spring boot 注册拦截器过程详解

    spring boot 注册拦截器过程详解

    这篇文章主要介绍了spring boot中注册拦截器过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java 同步锁(synchronized)详解及实例

    Java 同步锁(synchronized)详解及实例

    这篇文章主要介绍了Java 同步锁(synchronized)详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • 详解JAVA 时间处理相关类

    详解JAVA 时间处理相关类

    这篇文章主要介绍了JAVA 时间处理相关类的知识,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • springboot表单提交之validator校验

    springboot表单提交之validator校验

    在前台表单验证的时候,通常会校验一些数据的可行性,比如是否为空,长度,身份证,邮箱等等,这篇文章主要给大家介绍了关于springboot表单提交之validator校验的相关资料,需要的朋友可以参考下
    2021-05-05
  • Servlet3.0学习总结之基于Servlet3.0的文件上传实例

    Servlet3.0学习总结之基于Servlet3.0的文件上传实例

    本篇文章主要介绍了Servlet3.0学习总结之基于Servlet3.0的文件上传实例,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • SSM框架中entity mapper dao service controller层的使用

    SSM框架中entity mapper dao service controll

    这篇文章主要介绍了SSM框架中entity mapper dao service controller层的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java中4种校验注解详解(值校验、范围校验、长度校验、格式校验)

    Java中4种校验注解详解(值校验、范围校验、长度校验、格式校验)

    这篇文章主要给大家介绍了关于Java中4种校验注解详解的相关资料,分别包括值校验、范围校验、长度校验、格式校验等,Java注解(Annotation)是一种元数据,它可以被添加到Java代码中,并可以提供额外的信息和指令,需要的朋友可以参考下
    2023-08-08
  • Spring Boot的优点及项目创建步骤详解

    Spring Boot的优点及项目创建步骤详解

    这篇文章主要介绍了Spring Boot的优点及项目创建步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Java封装数组之动态数组实现方法详解

    Java封装数组之动态数组实现方法详解

    这篇文章主要介绍了Java封装数组之动态数组实现方法,结合实例形式详细分析了java动态数组的实现原理、操作步骤与相关注意事项,需要的朋友可以参考下
    2020-03-03

最新评论