当前位置: 首页 > news >正文

idea使用protobuf

本文参考:https://blog.csdn.net/m0_37695902/article/details/129438549 再次感谢分享

什么是 protobuf ?

Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。
由于protobuf是跨语言的,所以用不同的语言序列化对象后,生成一段字节码,之后可以其他任何语言反序列化并自用,大大方便了跨语言的通讯,同时也提高了效率。

为什么要使用Protobuf?

在网络传输中,protobuf序列化对象后生成的字节码比较小,传输数据小,占用带宽少

使用protobuf

下载protobuf编译器:https://github.com/protocolbuffers/protobuf/releases
在这里插入图片描述

配置环境变量

在Path里添加文件地址:D:\soft\protoc\bin

测试
protoc

在这里插入图片描述

protoc --version

在这里插入图片描述

idea使用protobuf

在idea中找到File—>setting—>Plugins,输入protobuf,并安装如下两个插件
在这里插入图片描述
重启idea并设置全局protobuf:Tools—>Configure GenProtobuf
在这里插入图片描述
protoc path :我们下载的 protobuf 编辑器的位置,在 bin 目录下有一个 .exe 文件
quick gen : 对应的语言 Java

使用

1、引入pom文件

<!--  protobuf 支持 Java 核心包-->
<dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><version>3.15.3</version>
</dependency>
<!--  proto 与 Json 互转会用到-->
<dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java-util</artifactId><version>3.15.3</version>
</dependency>

2、创建protobuf文件
在src/main/resources下创建proto后缀的文件,demo.proto

//使用 proto3 语法 ,未指定则使用proto2
syntax = "proto3";//生成 proto 文件所在包路径
package com.xxxx.tsp.own.entity;//生成 proto 文件所在包路径
option java_package = "com.xxxxx.tsp.own.entity";//生成 proto 文件名
option java_outer_classname="DemoProto";message Demo{//自身属性int32 id = 1;string code = 2;string name = 3;
}

3、生成java类文件
选择.proto文件右键点击quick gen protobuf here即可生成java文件。
在这里插入图片描述

http://www.lryc.cn/news/108766.html

相关文章:

  • 【深度学习_TensorFlow】误差函数
  • mysql按照日期分组统计数据
  • 19 | 分类模型评估指标
  • 【Pycharm2022.2.1】python编辑器最新版安装教程(包含2017-2022的所有版本win/mac/linux)
  • 深度学习-相关概念
  • 眼科医生推荐的台灯 护眼台灯买什么好?
  • 如何使用 ChatGPT 为 Midjourney 或 DALL-E 等 AI 图片生成提示词
  • 【Linux后端服务器开发】Reactor模式实现网络计算器
  • 【WebRTC---源码篇】(二:一)PeerConnection详解
  • 使用tinyxml解析和修改XML文件
  • [Docker实现测试部署CI/CD----相关服务器的安装配置(1)]
  • 【自动化运维】编写LNMP分布式剧本
  • 用Rust实现23种设计模式之单例
  • 小米平板6将推14英寸版!与MIX Fold 3同步推出
  • webpack 的一点知识
  • Python 双目摄像机控制(windows + linux)
  • mybatisplus实现自动填充 时间
  • P5732 【深基5.习7】杨辉三角
  • ubuntu调整路由顺序
  • 集成学习算法是什么?如何理解集成学习?
  • npm配置最新淘宝镜像
  • 网络基础1
  • 2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
  • 61 # http 数据处理
  • 模版下载和Excel文件导入
  • Datax 数据同步-使用总结(一)
  • 代码随想录算法训练营第九天| 232.用栈实现队列,225.用队列实现栈
  • 求解二次方程
  • 【hive 运维】hive注释/数据支持中文
  • 架构,性能和游戏 《游戏编程模式》学习笔记