为什么需要使用Protobuf 请参照该网站并仔细浏览(需要翻墙) :https://developers.google.com/protocol-buffers/
何处下载最新版本(下载非常慢,不同方式尝试N次后,放弃最新版本的了):
https://github.com/protocolbuffers/protobuf/releases
何处下载旧版本(推荐下载3.4版本):https://repo1.maven.org/maven2/com/google/protobuf/protoc/
直接下载protoc-3.4.0-windows-x86_64.exe(可运行的Protobuf编译器)
如果是下载的是其源文件,还需要下载cmake进行编译生成可运行的编译器
下载完后的操作:
1、将其改名:
2、并将其所在目录添加到系统环境变量中去:
3、验证:
4、在项目中新建.proto文件(细节请参照本文第一个连接):
5、在命令行输入命令并执行
6、查看新生成的消息体
7、测试:对象实例的序列化及反序列化
public class ProtoBufTest {
public static void main(String[] args) throws Exception{
//构造器模式生成对象实例
DataInfo.Student student = DataInfo.Student.newBuilder()
.setName("Wooooohh")
.setId(2)
.setEmail("1020227487@qq.com").build();
//将其转为字节数组
byte[] studentinfo = student.toByteArray();
//反序列化字节数组(省略网络传输)
DataInfo.Student student2 = DataInfo.Student.parseFrom(studentinfo);
System.out.println(student2.toString());
}
}
8、结果:
虽然只是很简单的几个步骤,但是蕴含的意义却非常重要,如果有对其有了解的话。