Spring Boot如何集成duboo服务

2024-06-20 17:32

本文主要是介绍Spring Boot如何集成duboo服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Spring Boot是什么? 
Spring Boot提供了一个强大的一键式Spring的集成开发环境,能够单独进行一个Spring应用的开发,其中: 

(1)集中式配置(application.properties)+注解,大大简化了开发流程 
(2)内嵌的Tomcat和Jetty容器,可直接打成jar包启动,无需提供Java war包以及繁琐的Web配置 
(3)提供了Spring各个插件的基于Maven的pom模板配置,开箱即用,便利无比。 
(4)可以在任何你想自动化配置的地方,实现可能 
(5)提供更多的企业级开发特性,如何系统监控,健康诊断,权限控制 
(6) 无冗余代码生成和XML强制配置 
(7)提供支持强大的Restfult风格的编码,非常简洁 


最近项目中,由于要写一个服务,所以就用到了比较方便的Spring Boot项目,之前也用过,和这次不一样的是这次的项目里面要使用阿里的duboo组件,作为服务化管理中心,原本的普通的spring项目集成dubbo是非常简单的,但由于用的Spring Boot,在网上搜了一下,还没有找到相关的资料的,所以就自己尝试了一下,发现并没有想象中的那么难,因为毕竟都是Spring自家的东西,没有理由不支持duboo。 


当然这里这个例子,我是服务使用方,会调用别人提供的duboo服务,所以要通过xml声明duboo的服务发布方 , Spring Boot其实是支持xml的bean初始化的,虽然不推荐使用,但是它还是有这个功能的,Spring Boot更推荐的使用方式是注解+集中式的properties文件配置,但由于必须要使用Spring Boot,所以不得不这样干了, 先看下duboo的xml配置,该文件位于resource目录下: 




另外在resource目录下,还需要加入dubbo.properties文件 
dubbo.application.name=xxxx   
dubbo.application.owner=xxxx   
dubbo.application.logger=slf4j   
dubbo.registry.address=zookeeper://zk.xxxx.com:2181   
dubbo.monitor.protocol=registry   
dubbo.protocol.name=dubbo   
dubbo.protocol.port=20887  
dubbo.service.loadbalance=roundrobin   
# dubbo \u8bbe\u8ba1\u7684\u65f6\u5019\u4e00\u53f0\u673a\u5668\u4e4b\u8fd0\u884c\u4e00\u4e2ajvm\uff0c\u73b0\u5728\u591a\u4e2a\u540c\u65f6\u4f7f\u7528\uff0c\u9700\u8981\u4fee\u6539\u914d\u7f6e\u9879   
dubbo.registry.file=/ROOT/tmp/dubbo_cus/www_xxxxx_cn.properties   


然后需要在maven的pom文件中,加入duboo的依赖: 
         <!-- dubbo dependency -->  <dependency>  <groupId>com.alibaba</groupId>  <artifactId>dubbo</artifactId>  <version>2.4.1<</version>  <exclusions>  <exclusion>  <artifactId>spring</artifactId>  <groupId>org.springframework</groupId>  </exclusion>  </exclusions>  </dependency> 


OK,接下来需要在Spring Boot的主启动类加上,第一步的定义的duboo的xml文件,截图: 
  
package com.anytrust.index.manager;   import org.springframework.boot.SpringApplication;   
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;   
import org.springframework.context.annotation.ComponentScan;   
import org.springframework.context.annotation.Configuration;   
import org.springframework.context.annotation.ImportResource;   @ComponentScan//组件扫描   
@Configuration//配置控制   
@EnableAutoConfiguration//启用自动配置   
@ImportResource({"classpath:dubboContext.xml"}) //加入spring的bean的xml文件   
public class ApplicationMain {   public static void main(String[] args) throws Exception {   //启动Spring Boot项目的唯一入口   SpringApplication.run(ApplicationMain.class, args);   }   }   


一个测试的服务的类如下: 



上面截图中,那个实例类,报错,不影响项目运行测试,所以可以忽略,最后,单元测试可以通过,后续会观察一下集成是否比较顺畅,因为Spring Boot是一个比较新的东西,虽然国外用的比较多,但国内用户还是比较少的,这样尝试,还是有点风险的,但测试一下也不错,如果可行,以后做项目也多了一种思路,还是挺好的。 

这篇关于Spring Boot如何集成duboo服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1078792

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.