如果提到Spring,你脑海中对他的印象还停留在SSH三大框架之一,那或许你该好好重新认识这个家伙。

在IT技术日新月异的今天,他还能让你忘不了并与他朝夕相处,他,肯定有自己的绝活。如今他早已经不是孤军奋战,而是形成了一个大家族,或许你知道Spring Boot,Spring Cloud,Spring Datad等等。

Spring给我的感觉就是好用,易上手,尤其有了更加强大的注解使用之后,可以抛去繁琐的XML配置,我们有更多的精力集中在自己的业务上、代码上。而Spring AMQP就是这样的一个集成了RabbitMQ的好用的工具库,能够很好的实现收发消息。

从这篇开始我们将陆续介绍Spring如何集成RabbitMQ,又是如何在Spring下使用RabbitMQ的。

和原生的RabbitMQ区别在哪

在《RabbitMQ入门》系列中,我们只用到了amqp-client这个jar包,包括新建Connection、Channel以及Consumer等。
但是我们在Spring下集成,还需要引入新的jar包依赖。

  • 这里用的是最新的spring-rabbit版本2.0.0.M5

  • 最新的spring-rabbit要求Spring Framework的最低版本为5.0.x,amqp-client的最低版本为4.1.x(对于一些新特性要求这样的最低版本,对于大部分功能来说,较低的版本也能正常工作)

添加好这些依赖后,编译项目出现下面的错误

从错误信息可以看出是中央仓库中没有Bismuth-M3这个依赖,所以需要添加一个Repository能够提供这个依赖的。添加如下信息到pom.xml中,问题解决。

一个简单到爆的HelloWorld实例

有了上面的依赖,我们先抛开XML配置以及注解配置,直接就可以写一个Spring集成RabbitMQ的HelloWorld。

没错,就是这么几行代码,就可以实现发送消息和接收消息了。

  • 新建了一个连接工厂,在其构造函数中指定了hostname。当然了CachingConnectFactory还提供了其他重载形式的构造函数,可以赋值hostname以及port等。

  • AmqpAdmin对象负责新建Exchange、Queue以及绑定等工作。

  • AmqpTemplate负责收发消息。

相比我们在《RabbitMQ入门》系列中,需要新建Connection,还要创建Channel以及Consumer,完成绑定等操作,这种方式更加简洁。
启动代码后,我们可以看到一个名为myqueue的队列已经存在了。

XML配置版本和注解配置版本

XML配置
如果非要使用你熟悉的XML模式,也不是不行。新建rabbit-context.xml文件

这时候在实现类中这样写就ok了

基于注解的配置
使用注解我们不用看让人眼花缭乱的xml配置了。我们需要声明一个配置类,如下

请点击此处输入图片描述
这时候在java实现类中这样写

以上两种方式都是等效的,具体看个人偏好了。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!如果您想持续关注我的文章,请扫描二维码,关注JackieZheng的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。

Spring集成RabbitMQ-使用RabbitMQ更方便的更多相关文章

  1. spring集成多个rabbitMQ

    转自:https://blog.csdn.net/zz775854904/article/details/81092892 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用 ...

  2. Spring集成RabbiMQ-Spring AMQP新特性

    上一篇<Spring集成RabbitMQ-使用RabbitMQ更方便>中,我们只需要添加响应jar的依赖,就可以写一个Spring集成RabbitMQ下非常简单收发消息的程序. 我们使用的 ...

  3. rabbitMQ第五篇:Spring集成RabbitMQ

    前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...

  4. RabbitMQ安装和使用(和Spring集成)

    一.安装Rabbit MQ Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang.通过下面两个连接下载安装3.2.3 版本: 下载并安装 E ...

  5. RabbitMQ第四篇:Spring集成RabbitMQ

    前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...

  6. 消息中间件系列四:RabbitMQ与Spring集成

    一.RabbitMQ与Spring集成  准备工作: 分别新建名为RabbitMQSpringProducer和RabbitMQSpringConsumer的maven web工程 在pom.xml文 ...

  7. RabbitMQ与Spring集成

    RabbitMQ服务端安装: https://blog.csdn.net/hzw19920329/article/details/53156015 与Spring集成 https://www.cnbl ...

  8. RabbitMQ与spring集成,配置完整的生产者和消费者

    RabbitMQ与AMQP协议详解可以看看这个 http://www.cnblogs.com/frankyou/p/5283539.html 下面是rabbitMQ和spring集成的配置,我配置了二 ...

  9. RabbitMQ入门教程(十六):RabbitMQ与Spring集成

    原文:RabbitMQ入门教程(十六):RabbitMQ与Spring集成 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

随机推荐

  1. ReactNative开发工具有这一篇足矣

    ReactNative系列文章: 1.<逻辑性最强的React Native环境搭建与调试> 2.<ReactNative开发工具有这一篇足矣> 正文 React Native ...

  2. Hibernate快速入门实例

    Hibernate工程项目创建基本步骤:导包(Hibernate依赖包.SQL驱动包).编写实体类.编写ORM映射配置文件.编写核心配置文件.编写测试驱动. 整个工程项目结构如下图: 一.导包 笔者使 ...

  3. Spring 控制反转

    Spring 控制反转 具体内容 Spring 开发框架之中有几个概念DI&IOC.AOP.那么要想理解Spring就必须首先理解控制反转的核心意义是什么? 对于IOC来讲如果直接进行文字的描 ...

  4. springmvc+mybatis 做分页sql 语句

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-// ...

  5. HTML5 drag和drop的亲手实践

    起因 最近在公司打杂的时候,突然分到了一个锅,就是要支持一个新的功能:用户可以通过拖曳组件来改变组件的顺序.因此,这阵子就看了一下网上的一些drag和drog的文章以及W3C的介绍,然后自己亲手实践了 ...

  6. java在控制台输出空心正方形,菱形,空心菱形

     使用for和if打印一个空心正方形 /*思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的.因此在打印第 ...

  7. docker~为什么没人说说.dockerignore

    回到目录 最近一直专注于docker的开发之中,而在使用Dockerfile时发现有个问题,当你的发布目录只能是obj\Docker\publish,而指向其它目录dockefile并不认它,只有如何 ...

  8. Ubuntu14.04_x64_Caffe_GPU环境配置

    为了让Caffe支持GPU模式,需要安装GPU和CUDA Toolkit,依据NVIDIA官方教程以ubuntu14.04_X64安装cuda8.0,配置Gpu为例如下所示: 1.检查安装环境,是否具 ...

  9. 用caffe一步一步实现人脸检测

    学习深度学习已有一段时间了,总想着拿它做点什么,今天终于完成了一个基于caffe的人脸检测,这篇博文将告诉你怎样通过caffe一步步实现人脸检测.本文主要参考唐宇迪老师的教程,在这里感谢老师的辛勤付出 ...

  10. (转)Centos搭建FTP服务器

    场景:ftp服务器对于在Linux服务器上进行文件操作太方便,在安装软件时候,大的软件也可以先上传再进行安装! 1 搭建FTP服务器 1.1 检查vsftpd 查看是否已经安装vsftpd rpm - ...