JAVA Proto3使用教程

编程入门 行业动态 更新时间:2024-10-08 04:24:09

JAVA Proto3使用<a href=https://www.elefans.com/category/jswz/34/1771193.html style=教程"/>

JAVA Proto3使用教程

IDEA安装Protobuf Support

安装插件Protobuf Support
我的idea是2019.2.4直接搜索插件是没有搜到的,在官网也没有找到这个插件,经过一系列的百度,发现先安装了GenProtobuf,再本地安装一个protobuf-jetbrains-plugin-0.13.0.zip插件就可以找到Protobuf Support啦。安装完成后重启IDEA就好啦。
插件下载在这里呦~
链接:
密码: a8b8

添加maven依赖

	<properties><grpc.version>1.0.3</grpc.version></properties><dependency><groupId>io.grpc</groupId><artifactId>grpc-netty</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>io.grpc</groupId><artifactId>grpc-protobuf</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>io.grpc</groupId><artifactId>grpc-stub</artifactId><version>${grpc.version}</version></dependency><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><version>3.4.0</version></dependency><build><extensions><extension><groupId>kr.motd.maven</groupId><artifactId>os-maven-plugin</artifactId><version>1.4.1.Final</version></extension></extensions><plugins>          <plugin><groupId>org.xolstice.maven.plugins</groupId><artifactId>protobuf-maven-plugin</artifactId><version>0.5.0</version><configuration><protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact><pluginId>grpc-java</pluginId></configuration><executions><execution><goals><goal>compile</goal><goal>compile-custom</goal></goals></execution></executions></plugin></plugins></build>   

编写proto3 文件

在main下创建一个proto文件夹,创建一个proto文件
编写proto文件内容
代码
// 声明使用的语法是proto3,否则默认是proto2
syntax = "proto3";
// 导入Any包,就可以支持Protobuf3的 Any类型,
// Any包含任意序列化的消息(字节),以及一个URL,该URL充当该消息的全局唯一标识符并解析为该消息的类型
import "google/protobuf/any.proto";// 命名空间
package proto.demo.message;
// 生成的java包路径
option java_package = "proto.demo.message";
// 生成的java对象名
option java_outer_classname = "ProtoDemoMessage";
// 需要传输的数据格式
message TransportMessage {int64 Id = 1;string AccessToken = 2;EnumMsgType MsgType = 3;google.protobuf.Any Content = 4;
}
// 一个proto文件可以定义多个数据结构
enum EnumMsgType {UnknownMsg = 0;HeartBeatReq = 1001;MsgReceivedAck = 1002;Error = 1003; 
}

生成java文件

在编译后就可以看到生成的java文件

总结

Protobuf 就是一种数据格式,不受语言、平台的限制,可用于网络数据传输,数据存储。

protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。
Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。
你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结构,而不破坏由旧数据结构编译的已部署程序。

更多推荐

JAVA Proto3使用教程

本文发布于:2024-02-19 13:00:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764197.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:教程   JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!