kafka集成SpringBoot api编写教程

1.新建项目

用的idea是20222.1.3版本,没有Spring Initializr 插件,不能直接创建springboot项目

可以在以下网址创建项目,下载后解压,然后用idea打开项目即可

1.1 在 https://start.spring.io/ 上创建项目

1.2上传到linux,解压

unzip Spring_Boot-kafka.zip

1.3 idea打开项目(文件-打开- Spring-Boot-kafka)

      

2.添加依赖(pox.xml)

(也可以选择修改对应的jdk版本,创建项目时勾选的是22)

                     <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>              

3.springboot生产者集成Kafka

       3.1生产者api

              新建controller包ProducerController类

      

 package com.lir.Spring.Boot_kafka.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.kafka.core.KafkaTemplate;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;//导入注解@RestControllerpublic class ProducerController {//自动注入内容到kafka模板@AutowiredKafkaTemplate<String,String> kafka;//导入注解,使外部能访问方法@RequestMapping("/ljr")//接收外部数据public String data(String msg){//通过kafka发送出去kafka.send("customers",msg);return "发送成功";}}

3.2修改application.properties文件

#连接kafka集群spring.kafka.bootstrap-servers=node1:9092,node2:9092# key value 序列化spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

3.3运行SpringBootKafkaApplication

    SpringBootKafkaApplication这个程序在创建项目时自动生成

             

打开网页输入地址node1:8080/ljr?msg="lisiguang"  /ljr?msg均是ProducerController指定的

输入后网页返回发送成功

Kafka consumer 消费到信息

可见spring boot生成者集成Kafka成功

4.spring boot消费者集成Kafka

4.1消费者api

package com.lir.Spring.Boot_kafka.controller;import org.springframework.context.annotation.Configuration;import org.springframework.kafka.annotation.KafkaListener;//指定这个类为configuration类,以让KafkaListener能扫描到生效@Configurationpublic class MyConsumer {//监听主题@KafkaListener(topics = "customers")public  void consumerTopic(String msg){System.out.println("接收信息:" + msg);}}

4.2修改application.properties文件

# key value 反序列化spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializerspring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer# 消费者组idspring.kafka.consumer.group-id=sbk

4.3运行SpringBootKafkaApplication

打开网页输入地址node1:8080/ljr?msg="lisi"

kafka生产信息

控制台有输出,spring boot消费者集成Kafka成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱的应用---智能公安

文章目录 智慧公安典型应用 智慧公安 智能公安是利用互联网、物联网、人工智能、云计算、智能引擎、视频技术、知识图谱等技术为支撑&#xff0c;以公安信息化为核心&#xff0c;通过互联化、物联化、智能化的方式&#xff0c;促进公安系统各个功能模块高度集成、协调运作&…

stm32之USMART调试组件的使用

一、什么是USMART? USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机&#xff0c;然后单片机收到命令之后调用单片机里面对应的相关函数&#xff0c;并执行&#xff0c;同时支持返回结果。 二、USMART调…

ReactRouter——路由配置、路由跳转、带参跳转、新route配置项

目录 写在前面 (一)初步使用router 1.安装react-router-dom 2.创建router结构 3.嵌套路由 4.配置not found页面 (1)确切路由报错页面 (2)未配置路由报错页面 5.重定向 (二)路由跳转 1.组件跳转 2.NavLink 3.js跳转 (三)传递参数 1.searchParams(query)参数 2…

这两款kimi和豆包插件,用来辅助文献阅读和总结,太香了!娜姐亲测好用

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 ChatGPT刚出来的时候&#xff0c;几款速读PDF的AI工具ChatDoc、ChatPDF也跟着火了起来&#xff0c;可见大家对于速读文献、总结文档需求很高。 我记得ChatPDF只有几次免费机会…

2024.6.9 七

Python的time库 先导入库 import time相关函数 time.time() 返回当前时间的时间戳(一个记录时间的浮点数),从1970年开始算的 time.localtime(sec) 返回一个指定时间戳(sec)的struct_time对象,是一个元组封装起来的,默认是当地时间 struct_time对象 tm_year 年 tm_mon 月 tm_…

opencv--使用opencv实现旋转角度的模板匹配

下面的例子是简单的使用opencv 实现的模板匹配流程&#xff0c;其中时间性能和精确度还需要调整&#xff0c;如果直接使用会出问题&#xff0c;所以这个只是例子&#xff0c;根据代码原理可以实现尺度变化的模板匹配和旋转尺度变化同时&#xff0c;具体根据实现的旋转代码进一步…

Nacos的配置中心

1.前言 除了注册中心和负载均衡之外, Nacos还是⼀个配置中心, 具备配置管理的功能. Namespace 的常用场景之一是不同环境的配置区分隔离&#xff0c; 例如开发测试环境和⽣产环境的配置隔离。 1.1 为什么需要配置中心&#xff1f; 当前项目的配置都在代码中&#xff0c;会存…

Django 部署指南

部署 Django 应用程序涉及将我们的应用程序从开发环境部署到生产环境&#xff0c;并确保它可以在生产服务器上安全运行和扩展。其实了解几种部署方案&#xff0c;相信你对将来的项目更得心应手。 1、问题背景 Django 是一款流行的 Python Web 框架&#xff0c;但对于新手来说&…

elasticsearch hanlp 插件安装操作

elasticsearch hanlp 插件安装操作 下载 hanlp 插件上传hanlp插件到elasticsearch服务器安装hanlp插件kibana测试 下载 hanlp 插件 这里大家根据自己对应的 elasticsearch 版本下载匹配版本的 hanlp 插件&#xff0c;由于 hanlp 及 elasticsearch 各个版本之间差别较大&#x…

将克隆到本地的6.824项目上传到自己的github

前置知识见&#xff1a;把自己在本地完成的mit6.s081项目上传到自己的github仓库里_mit6.s081 lab上传-CSDN博客 先在github建立一个自己的仓库 由于github可以给自己的主分支改名了&#xff0c;我这次是勾选了创建README文件 在本地同样是建立一条remote分支 git remote add…

Ant Design Vue Table组件全单元格编辑实现方案

在ant上的table常见用法是一行的元素可编辑&#xff0c;如下&#xff1a; 但是现在有一个需求是全部单元格均可编辑&#xff0c;如何实现呢&#xff1f; 表格组件 <a-tablev-if"query.personnel_type 0"size"middle"row-key"id":scroll&qu…

【CS.OS】操作系统如何使用分页和分段技术管理内存

1000.5.CS.OS.1.3-基础-内存管理-操作系统如何使用分页和分段技术管理内存-Created: 2024-06-09.Sunday10:24 操作系统的内存管理是一个复杂而关键的功能&#xff0c;它确保了程序可以高效、安全地运行。虚拟内存管理是其中一个重要的概念&#xff0c;它通过分页和分段技术来实…

Leetcode刷题笔记8

162. 寻找峰值 162. 寻找峰值 - 力扣&#xff08;LeetCode&#xff09; 对于所有有效的 i 都有 nums[i] ! nums[i 1] 解法一&#xff1a;暴力解法 从第一个位置一直向后走&#xff0c;然后分情况即可1. 第二个元素就往下降&#xff0c;那么第一个元素就是峰顶 2. 一直遍历…

温度传感器十大品牌

温度传感器品牌排行榜-十大热电偶品牌-热敏电阻品牌排行-Maigoo品牌榜

k8s面试题大全,保姆级的攻略哦(三)

目录 1、简述ETCD及其特点? 2、简述ETCD适应的场景? 3、简述什么是Kubernetes? 4、简述Kubernetes和Docker的关系? 5、简述Kubernetes中什么是Minikube、Kubectl、Kubelet? 6、简述Kubernetes常见的部署方式? 7、简述Kubernetes如何实现集群管理? 8、简述Kubern…

【C++】函数模板和类模版

目录 前言 模板参数 类型模板参数 非类型模板参数 模板的特化 函数模板的特化 类模板的特化 全特化 偏特化 模板的分离编译 模板总结 前言 函数模板和类模板是C模板编程中的两个核心概念&#xff0c;它们允许程序员编写泛型代码&#xff0c;这些代码可以在多种数据…

月薪70-100k,京东招ML算法工程师和运筹优化专家!

Datawhale分享 推荐&#xff1a;黄玉琳&#xff0c;京东&#xff0c;Datawhale成员 团队介绍 我们是京东零售集团供应链算法优化团队&#xff0c;通过在人工智能与运筹优化领域的持续性技术革新,为京东自营千万级商品提供算法策略支持,实现了以用户为中心的供应链管理和更高效…

攻防世界---misc---BotW-

1、下载附件是一张图片 2、查看图片属性&#xff0c;用winhex分析&#xff0c;没有发现奇怪的地方&#xff0c;用binwalk&#xff0c;接着使用foremost 3、得到两张图片&#xff0c;一张是原图&#xff0c;一张是特殊的字符 4、经过查阅资料得知&#xff0c;这是希卡文字&#…

IPv6 归属地城市级 Api 接口 - 精准定位每一个连接

随着互联网的快速发展&#xff0c;人们对于网络安全和隐私保护的要求也越来越高。在网络世界中&#xff0c;每一个连接都有其特定的地理位置&#xff0c;了解连接的归属地信息对于识别恶意行为以及网络运营具有重要意义。IPv6 归属地城市级 Api 接口就能够实现对连接的精准定位…