2021-12-10 关于SpringBoot项目调用dubbo接口的笔记

简介: 2021-12-10 关于SpringBoot项目调用dubbo接口的笔记

以下纯个人经历,不成体系,如有需求需要百度;具体步骤

一、pom.xml文件导入依赖

<!-此处是引入需要导入的jar包,需要调用的dubbo接口是放在这个jarbao下面的-->
  <dependency>
      <groupId>com.xxx.xxx</groupId>
      <artifactId>xxx-req-management-api</artifactId>
      <version>1.0.0-SNAPSHOT</version>
    </dependency>
      <!--  alibaba的dubbo包,也可以用apacha的  -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.5</version>
    </dependency>
  <!--  ZooKeeper主要服务于分布式系统,做统一配置管理、统一命名服务、分布式锁、集群管理等杂活儿,简单说就是个分布式框架的”管家“-->
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.5.6</version>
    </dependency>
    <!--  个人理解:也是一个用到操作Zookeeper的jar包 -->
    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.10</version>
    </dependency>
  <!--  提供了一个抽象级别更高的API,来操作Zookeeper  -->
    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>5.1.0</version>
    </dependency>

二、编写配置信息

在SSM的配置文件里面写好注册中心的地址,以及端口号,可以通过注入的方式动态管理dev、prd访问地址;
在项目名.config目录下的配置文件写入信息,(我的是applicatin-dev.properties文件)如:
#dubbo的zookeeper配置
xxx.dubbo.registry.port=8090
xxx.dubbo.registry.address=zookeeper://168.63.65.196:2182?backup=168.63.65.197:2182,168.63.65.198:2182
注:多ip需要用逗号隔开

三、编写位置的xml文件

注:我的xmu文件名是dubbo-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://code.alibabatech.com/schema/dubbo
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="agiletp-consumer"/>
<!--配置注册中心的地址,可以百度以下参数的意思,参数是通过第二步的配置文件注入进来的-->
    <dubbo:registry id="agiletp-registry" address="${xxx.dubbo.registry.address}" port="${xxx.dubbo.registry.port}" timeout="30000" check="false"/>
    <!--这一步是将需要访问的jar包中的暴露的Service接入到当前项目-->
    <dubbo:reference id="dxxxProjectExternalService" interface="com.xxx.dpmp.external.api.DpmpProjectExternalService"
                     registry="agiletp-registry"
                     timeout="60000"
                     check="false"
                     reconnect="false"
                     version="1.0.0"
                     retries="0"/>
</beans>

四、将dubbo配置在SpringBoot启动类上注入

config目录下:根据路径访问dubbo-config.xml文件
@ImportResource({"file:config/dubbo-config.xml"})
resource路径下:根据路径访问dubbo-config.xml文件
@ImportResource("classpath:dubbo-config.xml")
classpath是指springboot项目的resourse路径

五、注入Service,调用方法即可

到这一步已经完成了dubbo接口配置的基本步骤,剩下的jar调用就和普通的service方法一致了,卓阳注解注入service

   @Autowired
    private DxxxProjectExternalService dxxxProjectExternalService;
相关文章
|
11月前
|
安全 NoSQL Java
SpringBoot接口安全:限流、重放攻击、签名机制分析
本文介绍如何在Spring Boot中实现API安全机制,涵盖签名验证、防重放攻击和限流三大核心。通过自定义注解与拦截器,结合Redis,构建轻量级、可扩展的安全防护方案,适用于B2B接口与系统集成。
1311 3
|
前端开发 安全 Java
Spring Boot 便利店销售系统项目分包设计解析
本文深入解析了基于Spring Boot的便利店销售系统分包设计,通过清晰的分层架构(表现层、业务逻辑层、数据访问层等)和模块化设计,提升了代码的可维护性、复用性和扩展性。具体分包结构包括`controller`、`service`、`repository`、`entity`、`dto`、`config`和`util`等模块,职责分明,便于团队协作与功能迭代。该设计为复杂企业级应用开发提供了实践参考。
590 0
|
算法 网络协议 Java
Spring Boot 的接口限流算法
本文介绍了高并发系统中流量控制的重要性及常见的限流算法。首先讲解了简单的计数器法,其通过设置时间窗口内的请求数限制来控制流量,但存在临界问题。接着介绍了滑动窗口算法,通过将时间窗口划分为多个格子,提高了统计精度并缓解了临界问题。随后详细描述了漏桶算法和令牌桶算法,前者以固定速率处理请求,后者允许一定程度的流量突发,更符合实际需求。最后对比了各算法的特点与适用场景,指出选择合适的算法需根据具体情况进行分析。
1073 56
Spring Boot 的接口限流算法
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
807 3
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
1090 2
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
1105 2
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
608 2
|
Java API 网络架构
基于 Spring Boot 框架开发 REST API 接口实践指南
本文详解基于Spring Boot 3.x构建REST API的完整开发流程,涵盖环境搭建、领域建模、响应式编程、安全控制、容器化部署及性能优化等关键环节,助力开发者打造高效稳定的后端服务。
1554 1
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
440 0
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
883 0