本文参考: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文件。