Protobuf3 系列一 第一个Java demo

本文介绍了Protocol Buffers(Protobuf3)的基本概念,它作为一种数据交换协议,相比XML和JSON更小巧、快速且简单。文章通过一个具体的Java Demo详细讲解了如何定义Message,使用proto文件生成Java类,并提供了两种生成Java类的方法。最后展示了如何调用生成的类进行数据操作。
摘要由CSDN通过智能技术生成

概念

Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler

简单的说, Protobuf3是类似json,xml的数据交换协议,但是它比它们传输的数据更小,传输的速度更快; 跨语言交互,支持大部分主流编程语言

Demo

Message

Protobuf3通过proto文件定义交互的对象,基本的数据结构叫做Message。 以下是本次使用的第一个demo

// 如果使用此注释,则使用proto3; 否则使用proto2
syntax = "proto3";
// 生成类的包名
option java_package = "com.hry.spring.proto.simple";
//生成的数据访问类的类名,如果没有指定此值,则生成的类名为proto文件名的驼峰命名方法
option java_outer_classname = "FirstDemo";
message Demo {  
  int32 id = 1;  
  string name = 2;
  string email = 3;
  repeated int32 mylist = 4; // List列表
}

repeated : 在java中表示这是一个List列表
int32, string 分别对应java中的int, String

生成Java类

定义后proto,则可以通过官方的工具生成类 protoc-3.0.0-win32.zip

有两种方式生成java类

方法一通过cmd命令:
protoc参数的意义见下方的ProtoGenerateClass 类注释

D:/tool/protoc/protoc-3.0.0-win32/bin/protoc.exe -I=D:/project/git/spring_boot/protobuf --java_out=d:/tmp D:/project/git\spring_boot/protobuf/src/main/resources/com/hry/spring/proto/simple/*.proto

方法二通过Java类来实现
封装调用window命令的类

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值