一。引入相关依赖

pom.xml

        <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.8</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency>

二。引入配置

package com.jztey.framework.boot; import com.alibaba.dubbo.config.*;
import com.alibaba.dubbo.config.spring.AnnotationBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; /** * Created by Charles on 2016/6/11. */
public class ApplicationDubbo { @Bean @ConfigurationProperties(prefix = "dubbo.application") public ApplicationConfig applicationConfig() { return new ApplicationConfig(); } @Bean @ConfigurationProperties(prefix = "dubbo.protocol") public ProtocolConfig protocolConfig() { return new ProtocolConfig(); } @Bean @ConfigurationProperties(prefix = "dubbo.registry") public RegistryConfig registryConfig() { return new RegistryConfig(); } @Bean @ConfigurationProperties(prefix = "dubbo.annotation") public AnnotationBean annotationBean() { return new AnnotationBean(); } @Bean @ConfigurationProperties(prefix = "dubbo.provider") public ProviderConfig providerConfig() { return new ProviderConfig(); } @Bean @ConfigurationProperties(prefix = "dubbo.reference") public ReferenceConfig referenceConfig() { return new ReferenceConfig(); } @Bean @ConfigurationProperties(prefix = "dubbo.consumer") public ConsumerConfig consumerConfig() { return new ConsumerConfig(); }
}

三。启动导入配置

package com.jztey.gxdemo; import java.net.UnknownHostException; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.CachingConfigurer;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jztey.framework.boot.ApplicationDruid;
import com.jztey.framework.boot.ApplicationDubbo;
import com.jztey.framework.boot.ApplicationInterfaceMvc;
import com.jztey.framework.boot.ApplicationMonitoring;
import com.jztey.gxdemo.entity.OauthParam;
import com.jztey.gxdemo.service.DemoApiService; /** * Created by yushi on 2016/8/8. */ @SpringBootApplication
@Import({ ApplicationInterfaceMvc.class // , ApplicationDubbo.class// 导入dubbo , ApplicationDruid.class// 导入Druid , ApplicationMonitoring.class })
public class Application   { @Bean public WebMvcConfigurer corsConfigurer() { // 允许跨域 return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS"); } }; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

四。application.properties配置

#dubbo配置
dubbo.application.name=gxdemo
dubbo.registry.protocol=zookeeper
dubbo.registry.address=10.3.5.36:2181,10.3.5.38:2181,10.3.5.42:2181
dubbo.annotation.package=com.jztey.${spring.application.name}

五。编写服务端

package com.jztey.gxdemo.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestOperations; import com.alibaba.fastjson.JSONArray;
import com.jztey.gxdemo.entity.OauthParam; @com.alibaba.dubbo.config.annotation.Service
@Service
public class DemoApiServiceImpl implements DemoApiService{ @Autowired private RestOperations restOperations; @Autowired private OauthService oauthService; public JSONArray queryCompany(){ String url = "https://internal.api.ehaoyao.com/logistics/v1.1/company";     OauthParam param = new OauthParam(); param.setGrantType("client_credentials"); param.setClientId("02bceec105cd4462b2dadd892fdba943"); param.setClientSecret("fa50ffdbbbf9442f8958e1493e7a1b41"); param.setScope("mall"); String token = oauthService.getToken(param); url=url+"?access_token="+token; JSONArray result =  restOperations.getForObject(url, JSONArray.class); System.out.println(result.toString()); return result; }     }

六。消费端

mvn clean deploy

用注释 com.alibaba.dubbo.config.annotation.Reference; 注入

    @Reference private DemoApiService demoApiService;

调用

demoApiService.queryCompany();

--------------

spring mvc+tomcat源码分析视频 (复制链在浏览器打开)

https://study.163.com/course/courseMain.htm?share=2&shareId=480000001919582&courseId=1209399899&_trace_c_p_k2_=6d81bc445e9c462ab8d6345e40f6b0bf

springboot 集成dubbo相关推荐

  1. SpringBoot集成Dubbo

    #博学谷IT学习技术支持# 文章目录 1. 构建SpringBoot环境 1.1 创建一个dubbo-parent项目 1.2 引入依赖坐标 2. Linux 环境配置 2.1 安装docker 2. ...

  2. Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)

    Dubbo--原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用,显然这种方式肯定是非常麻烦的,因此我们这里就讲如何使用SpringBoot ...

  3. SpringBoot集成Dubbo框架

    1. Dubbo框架 Dubbo框架是一个高性能.重量轻.基于java的RPC框架.Dubbo提供了三个关键功能,包括基于接口的远程调用.容错和负载平衡,以及自动服务注册和发现.Dubbo可以和Spr ...

  4. 【dubbo】springboot集成dubbo框架

    1. dubbo介绍 dubbo是一款开源rpc框架,提供rpc调用诸多组件.支持服务注册与发现.服务负载均衡.服务容错.服务降级处理.服务失败尝试机制.服务监控等组件. 当我们项目拆分成微服务时,A ...

  5. springboot 集成dubbo问题

    一.背景 基于springboot 2.3.5.RELEASE 和 dubbo-spring-boot-starter 2.7.5 的版本开发,用来总结自己的技术栈.在启动过程中遇到一些问题,故借此文 ...

  6. SpringBoot集成Dubbo+Zookeeper

    目录 Spring版本 dubbo_zookeeper负责定义接口 dubbo_provider 服务提供者 dubbo_consumer服务使用者 Spring版本 不知道为啥,新创建的Spring ...

  7. SpringBoot与Dubbo的集成

    简介 Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以 及 SOA 服务治理方案.简单的说,dubbo 就是个服务框架,如果没有分布式的需求,其实 是不需要用 ...

  8. 【SpringBoot整合Dubbo和Zookeeper】

    本笔记内容为狂神说SpringBoot集成Dubbo和Zookeeper部分 目录 一.Dubbo dubbo基本概念 调用关系说明 二.Dubbo环境搭建 三.Window下安装zookeeper ...

  9. dubbo web工程示例_dubbo实战之二:与SpringBoot集成

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类和汇总,及配套源码,涉及Java.Docker.Kubernetes.DevO ...

最新文章

  1. asp中sub与function的区别
  2. Android使用开源项目Xutils实现多线程下载文件
  3. oracle11g 隐藏参数_oracle隐含参数的查看与修改
  4. NSDateFormatter设定日期格式
  5. python numpy库是第三方库吗_浅谈python的第三方库——numpy(终)
  6. springboot security 权限不足_SpringBoot 整合 SpringSecurity 之起源篇(零)
  7. Java并发编程(05):悲观锁和乐观锁机制
  8. python中weekday_[转载] Python日历模块| 使用示例的weekday()方法
  9. 提交辞职申请时,领导极力挽留,还答应加薪,要不要留下来?
  10. python控制安捷伦频谱仪_安捷伦频谱仪使用说明
  11. 继承中各代码块的执行顺序
  12. bzoj 1814: Ural 1519 Formula 1【插头dp】
  13. 阿里云SDK播放器集成
  14. 【转】人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华
  15. “心系长者,祝福健康”生日同庆会
  16. Provisioning profile iOS Team Provisioning Profile:XXXXdoesn't include the currently selected devi
  17. 念远方佳人致最爱的璐孩
  18. 全志V3S Linux 开发过程回记
  19. 风储VSG-基于虚拟同步发电机的风储并网系统MATLAB仿真
  20. 你的医保卡最好不要这样用

热门文章

  1. opencv图片转幻灯片视频
  2. [OpenCV] 制作个人视频
  3. 摄像头与激光雷达微波雷达的融合算法之三-----关联
  4. 1074. Reversing Linked List 解析
  5. 互联网金融年化收益率集体“破五”指日可待
  6. android 跑马灯 文字一行能显示全也能跑马灯
  7. 10个3分钟锁住健康
  8. TZC 1283: 简单排序 —— 插入排序
  9. steam搬砖是什么?怎么做呀?
  10. 如何关闭Windows系统默认共享