Spring Boot Kafka - 序列化和反序列化JSON

本文详细介绍了如何在Spring Boot应用中使用Kafka进行JSON序列化和反序列化。通过配置JsonSerializer和JsonDeserializer,实现消息发送时对象到JSON的转换,以及消息接收时JSON到对象的还原。同时,展示了Model类、Producer类、Consumer类和Controller类的代码示例,提供了一种测试方法,并给出了相关参考文档链接。
摘要由CSDN通过智能技术生成

Spring Boot Kafka - 序列化和反序列化JSON

前言

在Spring Boot应用集成Kafka读写消息 一文中说明了如何通过Spring Kafka来发送和接收字符串消息。

本文描述了如何通过Spring Kafka如何在发送消息时序列化JSON(将对象转换成JSON字节流),如何在接收数据时反序列化JSON(将JSON字节流转换成对象)。

配置JsonSerializer和JsonDeserializer

application.yaml 中配置JsonSerializer和JsonDeserializer。

server:
  port: 8080
spring:
  kafka:
    consumer:
      bootstrap-servers: localhost:9092
      group-id: demo-group
      auto-offset-reset: earliest
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
      properties:
        spring:
          json:
            trusted:
              packages: '*'

    producer:
      
Spring Boot中使用Kafka需要在配置文件中指定Kafka的相关配置。下面是一个简单的Kafka配置文件示例: ``` spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-group spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer ``` 解释一下上述配置项的含义: - `spring.kafka.bootstrap-servers`:Kafka集群的地址,如果有多个地址,可以用逗号分隔。 - `spring.kafka.consumer.group-id`:消费者所属的组ID。 - `spring.kafka.consumer.auto-offset-reset`:指定消费者在没有初始偏移量的情况下该如何开始消费消息。这里配置为最早的偏移量。 - `spring.kafka.consumer.key-deserializer`:消费者使用的键反序列化器。 - `spring.kafka.consumer.value-deserializer`:消费者使用的值反序列化器。 - `spring.kafka.producer.key-serializer`:生产者使用的键序列化器。 - `spring.kafka.producer.value-serializer`:生产者使用的值序列化器。 注意:这里的序列化器和反序列化器需要根据实际情况进行替换。如果使用的是JSON格式的消息,可以使用`org.springframework.kafka.support.serializer.JsonSerializer`和`org.springframework.kafka.support.serializer.JsonDeserializer`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值