首页 > 其他分享 >Springboot整合Mybatis

Springboot整合Mybatis

时间:2024-03-31 14:32:03浏览次数:18  
标签:return Springboot fanout 交换机 整合 Mybatis message public String

整合

生产者

默认如果在windows安装了rabbitmq是不用配置信息的,因为存在默认的配置

  • 整合流程:

    • 导包----------编写配置-----------写代码
      • 在springboot中存在很多template,MQ 就是其中的一种
  • 导包

    • 其实不需要导包,在创建springboot项目时,勾选MQ,就可以了
  • 编写配置

    • #rabbitMQ
      spring:
        rabbitmq:
          username: admin
          password: admin
          virtual-host: /
          host: 47.120.50.213
          port: 5672
      
  • 配置RabbitMqConfiguration

    • 交换机----队列----队列绑定交换机

      • 声明交换机

        • @Bean
          public FanoutExchange fanoutExchange() {
              //返回的是交换机的名字
              return new FanoutExchange("fanout_message_exchange");
          }
          
        • 什么类型的交换机,就返回什么类型

      • 声明队列

        • @Bean
          public Queue emailQueue() {
              //也是队列的名字
              return new Queue("email.fanout.queue",true);
          }
          
      • 队列绑定交换机

        • @Bean
          public Binding emailBinding() {
              return BindingBuilder.bind(emailQueue()).to(fanoutExchange());
          }
          
        • 要是是路由模式,可以添加一个路由,

        • @Bean
          public Binding wxBinding1(){
              return BindingBuilder.bind(wxQueue()).to(directExchange()).with("");
          }
          
  • 发送消息

    • @Autowired
      RabbitTemplate rabbitTemplate;
      
      public void makeOrder(){
      
          String exchangeName = "fanout_message_exchange";
          String message = "hello world";
          String routingKey = "";
      
          rabbitTemplate.convertAndSend(exchangeName,routingKey,message);
          System.out.println("消息发送成功");
      
      }
      

消费者

  • 创建一个新的模块

  • 导包

  • 编写配置

  • 创建一个接受的service

    • @RabbitListener(queues = {"wx.fanout.queue"})
      @Service
      public class FanoutReceiver {
      
          private String messageContent;
      
          @RabbitHandler
          public void receive(String message) {
              messageContent = message;
          }
      
          public String getMessageContent(){
              return messageContent;
          }
      
      }
      
    • 还是一样,接收者是通过队列来进行接受的

    • @RabbitListener()

    • RabbitHandler得到的message就是消息

思考?

如何实现路由模式的配置

@Bean
public Binding tiktokQueueBinding() {
    return BindingBuilder.bind(tiktokQueue()).to(directExchange()).with("tikTokQueueDirect");
}

在后面加上With就行

问题:

如果把接收与发送服务为了测试,写在一个类中,那么其实都不用调用服务,当启动后,就会一直监听,然后消费服务,所以你看不到服务的消费

配置类写在消费者这边还是在生产者这边比较好?

回答:都是推荐的【生产者、消费者、两边】,但是配置在消费者更好一点,消费者一般是先启动的,交换机,让交换机时时监听

使用注解开发

这样可以不使用配置了

@RabbitListener(bindings = @QueueBinding(
        value = @Queue(value = "email.fanout.queue",durable = "true",autoDelete = "false"),
        exchange = @Exchange(value = "fanout_message_exchange",type = ExchangeTypes.FANOUT)
))

关于为什么可以这么写?

解释:

  • 进入@RabbitListener

    • 在这里插入图片描述
  • 进入QueueBinding

    • 在这里插入图片描述
  • 进入Queue

    • 在这里插入图片描述

以上就是可以这样配置的原因了

标签:return,Springboot,fanout,交换机,整合,Mybatis,message,public,String
From: https://blog.csdn.net/qq_64420904/article/details/137190709

相关文章

  • SpringBoot配置静态资源访问
    默认的静态资源映射SpringBoot中的SpringMVC模块利用ResourceHttpRequestHandler来处理静态内容,对静态资源的映射提供了默认的配置。默认情况下,SpringBoot按如下优先级,从上到下将/**所有的资源访问映射到以下目录:classpath:/META-INF/resources/classpath:/resources/......
  • 会员制医疗预约服务管理信息系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目持续更新中.....2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssm+vue等技术项目合集)1.系统功能模块2.管理员功能模块......
  • 财务管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目持续更新中.....2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssm+vue等技术项目合集)目录1.管理员功能效果图1.1.员工功能模块2.系统功能设计3.数据库E......
  • 基于java+springboot+vue实现的房屋租赁系统(文末源码+Lw+ppt)23-397
    摘要随着社会的不断进步与发展,人们经济水平也不断的提高,于是对各行各业需求也越来越高。特别是从2019年新型冠状病毒爆发以来,利用计算机网络来处理各行业事务这一概念更深入人心,由于工作繁忙以及疫情的原因,用户到房源公司进行房屋求租也是比较难实施的。如果开发一款房屋租赁......
  • 基于java+springboot+vue实现的付费自习室管理系统(文末源码+Lw+ppt)23-400
    摘 要付费自习室管理系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户信息、自习室准则、自习室、自习计划、留言反馈、订单等功能进行......
  • 基于java+springboot+vue实现的房屋租赁系统(文末源码+Lw+ppt)23-397
    摘要随着社会的不断进步与发展,人们经济水平也不断的提高,于是对各行各业需求也越来越高。特别是从2019年新型冠状病毒爆发以来,利用计算机网络来处理各行业事务这一概念更深入人心,由于工作繁忙以及疫情的原因,用户到房源公司进行房屋求租也是比较难实施的。如果开发一款房屋租赁......
  • 基于java+springboot+vue实现的付费自习室管理系统(文末源码+Lw+ppt)23-400
     摘 要付费自习室管理系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户信息、自习室准则、自习室、自习计划、留言反馈、订单等功能进......
  • 基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389
    摘 要伴随着我国社会的发展,人民生活质量日益提高。于是对电商个性化推荐进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套电商个性化推荐系统,帮助商家进行商品信息、在线沟通等繁琐又......
  • 基于java+springboot+vue实现的房屋租赁系统(文末源码+Lw+ppt)23-397
    摘要随着社会的不断进步与发展,人们经济水平也不断的提高,于是对各行各业需求也越来越高。特别是从2019年新型冠状病毒爆发以来,利用计算机网络来处理各行业事务这一概念更深入人心,由于工作繁忙以及疫情的原因,用户到房源公司进行房屋求租也是比较难实施的。如果开发一款房屋租赁......
  • 基于java+springboot+vue实现的付费自习室管理系统(文末源码+Lw+ppt)23-400
     摘 要付费自习室管理系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。主要功能包括:个人信息修改,对用户信息、自习室准则、自习室、自习计划、留言反馈、订单等功能进......