iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Springboot整合Dubbo之代码集成和发布的示例分析
  • 114
分享到

Springboot整合Dubbo之代码集成和发布的示例分析

springbootdubbo 2023-05-30 17:05:06 114人浏览 八月长安
摘要

这篇文章主要介绍了SpringBoot整合dubbo之代码集成和发布的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:1. boot-dubbo-api相关打

这篇文章主要介绍了SpringBoot整合dubbo之代码集成和发布的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体如下:

1. boot-dubbo-api相关

打开boot-dubbo-api项目,正在src/main/java下创建一个包,并创建你需要dubbo暴露的接口TestService.java,并创建一个实体类用于测试User.java。如下图所示:

Springboot整合Dubbo之代码集成和发布的示例分析

创建文件和包结构

User.java

package com.boot.domain;import lombok.Data;import java.io.Serializable;@Datapublic class User implements Serializable { private Integer id; private String username; private String passWord; private Integer age; private Integer gender;}

TestService.java

package com.boot.service;import com.boot.domain.User;public interface TestService { String sayHello(String str); User findUser();}

2. boot-dubbo-provider相关

首先我们先看看总共需要编写的内容,文件的层次结构图

Springboot整合Dubbo之代码集成和发布的示例分析

boot-dubbo-provider项目结构图

我们首先实现我们在boot-dubbo-api上定义的接口,创建一个TestServiceImpl类并实现TestService

package com.boot.service.impl;import com.alibaba.dubbo.config.annotation.Service;import com.boot.domain.User;import com.boot.service.TestService;import java.text.SimpleDateFORMat;import java.util.Date;@Service(version = "1.0.0")public class TestServiceImpl implements TestService { @Override public String sayHello(String str) {  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  return dateFormat.format(new Date()) + ": " + str; } @Override public User findUser() {  User user = new User();  user.setId(1001);  user.setUsername("scott");  user.setPassword("tiger");  user.setAge(20);  user.setGender(0);  return user; }}

注意:代码里的@Service注解是com.alibaba.dubbo.config.annotation.Service的。

在resources下创建一个config文件夹,在config下创建spring-dubbo.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="provider"/> <!-- 注册中心的ip地址 --> <dubbo:reGIStry address="ZooKeeper://127.0.0.1:2181"/> <!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 --> <dubbo:annotation package="com.boot.service.impl"/></beans>

在com.boot包下新建Springboot的入口类,创建一个ProviderApplication.java文件。

package com.boot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ImportResource;import java.io.IOException;@SpringBootApplication@ImportResource({"classpath:config/spring-dubbo.xml"})public class ProviderApplication { public static void main(String[] args) {  SpringApplication.run(ProviderApplication.class, args);  try {   System.in.read();  } catch (IOException e) {   e.printStackTrace();  } }}

最后在resources文件夹下面创建application.yml,Springboot的配置文件。

# 在这里编写springboot的配置信息

3. boot-dubbo-consumer相关

首先我们先看看总共需要编写的内容,文件的层次结构图

Springboot整合Dubbo之代码集成和发布的示例分析

boot-dubbo-consumer项目结构图

编写我们的Controller控制类,在com.boot.controller包下新建一个TestController类,编写访问地址。

package com.boot.controller;import com.alibaba.dubbo.config.annotation.Reference;import com.boot.domain.User;import com.boot.service.TestService;import org.springframework.WEB.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/")public class TestController { @Reference(version = "1.0.0") private TestService testService; @GetMapping("hello") public String hello() {  return testService.sayHello("Hello springboot and dubbo!"); } @GetMapping("user") public User user() {  return testService.findUser(); }}

在resources下创建一个config文件夹,在config下创建spring-dubbo.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="consumer"/> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> <dubbo:annotation package="com.boot.controller"/></beans>

在com.boot包下新建Springboot的入口类,创建一个ConsumerApplication.java文件。

package com.boot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ImportResource;@SpringBootApplication@ImportResource({"classpath:config/spring-dubbo.xml"})public class ConsumerApplication { public static void main(String[] args) {  SpringApplication.run(ConsumerApplication.class, args); }}

最后在resources文件夹下面创建application.yml,Springboot的配置文件。

# 在这里编写springboot的配置信息server: port: 8080 context-path: /

至此,代码部分已经编写完毕!!!

4. 安装zookeeper注册中心到电脑中

下载地址:zookeeper下载地址

点击后下载适合自己的版本,如图所示

Springboot整合Dubbo之代码集成和发布的示例分析

zookeeper的下载

下载完毕后,解压缩该文件,进入conf文件夹,拷贝一份zoo_sample.cfg,在该目录生成zoo.cfg文件。

Springboot整合Dubbo之代码集成和发布的示例分析

拷贝生成zoo.cfg文件

进入bin目录,运行zkServer.cmd文件。

Springboot整合Dubbo之代码集成和发布的示例分析

运行zkServer.cmd

点击运行后出现如下图所示

Springboot整合Dubbo之代码集成和发布的示例分析

运行成功

现在终于可以运行我们的项目了

先运行我们的ProviderApplication.java文件的main函数,再运行ConsumerApplication.java文件的main函数。

打开浏览器访问
http://localhost:8080/hello
http://localhost:8080/user

好了,激动人心的时刻到了,我们终于完成了Springboot和Dubbo的集成了。

感谢你能够认真阅读完这篇文章,希望小编分享的“Springboot整合Dubbo之代码集成和发布的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Springboot整合Dubbo之代码集成和发布的示例分析

本文链接: https://www.lsjlt.com/news/220072.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL怎么更新字段长度
    要更新MySQL表中的字段长度,可以使用ALTER TABLE语句。以下是更新字段长度的示例: ALTER TABLE table_...
    99+
    2024-05-14
    mysql
  • sql如何修改表字段长度
    要修改表字段的长度,可以使用ALTER TABLE语句,然后使用MODIFY COLUMN来修改字段的长度。以下是一个示例: ALT...
    99+
    2024-05-14
    sql
  • mysql数据量太大如何解决
    有几种方法可以解决MySQL数据量过大的问题: 数据库分区:将数据库表按照某种规则进行分区,分成多个小表,可以提高查询速度和管理...
    99+
    2024-05-14
    mysql
  • MySQL单表数据量过大如何解决
    在MySQL中,当单表的数据量过大时,可以采取以下几种方法来解决问题: 使用索引:在表的字段上创建适当的索引,可以提高查询效率,...
    99+
    2024-05-14
    mysql
  • mysql导出数据量过大如何解决
    当导出的数据量过大时,可以尝试以下方法来解决问题: 使用数据库工具:使用数据库管理工具如Navicat或MySQL Workbe...
    99+
    2024-05-14
    mysql
  • mysql中log_bin的作用是什么
    在MySQL中,log_bin是二进制日志文件的名称,用于记录所有对数据库进行更改的操作,如插入、更新、删除等。这些二进制日志文件可...
    99+
    2024-05-14
    mysql
  • mysql中log_bin的特点有哪些
    log_bin是MySQL的二进制日志文件,用于记录所有对数据库的修改操作,包括插入、更新、删除等。 log_bin文件是M...
    99+
    2024-05-14
    mysql
  • mysql rpm包安装的方法是什么
    要在Linux系统上安装MySQL RPM包,可以按照以下步骤操作: 下载MySQL的RPM包:你可以从MySQL官方网站下载适...
    99+
    2024-05-14
    mysql
  • mysql rpm包安装后怎么使用
    安装MySQL RPM包后,您可以通过以下步骤来使用MySQL: 启动MySQL服务:使用以下命令来启动MySQL服务: sud...
    99+
    2024-05-14
    mysql
  • lxml中怎么处理XML命名空间默认值
    在lxml中处理XML命名空间的默认值可以通过使用xpath()方法和register_namespace()方法来实现。...
    99+
    2024-05-14
    lxml
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作