Windows环境ProtocolBuffer安装及入门使用

  • 准备工作及所需软件
    将protoc-2.5.0-win32.zip解压到系统任意目录, protobuf-java-2.5.0.jar放置到同一目录,并配置环境变量,执行下图命令,如果结果与下图一致则环境准备完成。
    Windows环境ProtocolBuffer安装及入门使用
    文章图片

  • 编写proto文件
package S003; option java_package = "S003"; \\指定java的报名 option java_outer_classname = "RWA_BASIC_AUTH_AIRPORT_"; \\指定java的编译前类名 message AUTH { required string Name = 1; required string ADDRESS= 2; required string NUMBER= 3; }

  • 备注:限定修饰符 required ,optional ,repeated
    required: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够识别该字段的意思。
    optional:表示是一个可选字段,可选对于发送方,在发送消息时,可以有选择性的设置或者不设置该字段的值。
    repeated:表示该字段可以包含0~N个元素。其特性和optional一样,但是每一次可以包含多个值。
  • 列表内容
    使用命令将proto文件编译为java文件
    Windows环境ProtocolBuffer安装及入门使用
    文章图片

  • 将编译后的java文件引入到项目中,并且将protobuf-java-2.5.0.jar引入项目
  • 【Windows环境ProtocolBuffer安装及入门使用】序列化方式
S003.AUTH_.AUTH.Builder newBuilder = S003.AUTH_.AUTH .newBuilder(); newBuilder.setName("xiaoming"); newBuilder.setAddress("北京海淀"); newBuilder.setNumber("1"); byte[] bytes=newBuilder.build().toByteArray();

  • 反序列化方式
S003.AUTH_.AUTH sAirport=S003.AUTH_.AUTH.parseFrom(bytes); System.out.println(sAirport.getName()); System.out.println(sAirport.getAddress()); System.out.println(sAirport.getNumber());

    推荐阅读