Google Protocol Buffer 的使用(一)

一、什么是Google Protocol Buffer
下面是官网给的解释:
Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. – think XML, but smaller, faster, and simpler.
协议缓冲区是一种和语言无关、平台无关的可扩展机制,用于序列化结构化的数据。相比于xml,它更小,更快,更简单。
数据缓冲区常用语通信协议和数据存储。
下面两个网站是别人做的效率测试实验:
https://code.google.com/archive/p/thrift-protobuf-compare/wikis/Benchmarking.wiki
https://github.com/eishay/jvm-serializers/wiki

二、环境安装(Intellij IDEA插件安装)
Intellij中的“File”-->"Settings"-->"Plugins" 中搜索Protobuf插件安装,重启生效。重启后.proto文件会高亮显示。安装如下图:

Google Protocol Buffer 的使用(一)_第1张图片

三、创建Protocol Buffer文件
Protocol Buffer文件是.proto文件。穿件文件xxx.proto放在名为proto的文件加下,实例:

syntax = "proto3";

message SearchRequest {
  string query = 1;
  int32 page_number = 2;
  int32 result_per_page = 3;
}

四、java创建maven工程
pom文件:



    
        google
        test.tom
        1.0-SNAPSHOT
    
    4.0.0

    protobuf

    
        UTF-8
        1.8
        1.8
        1.6.1
        3.4.0
    

    
        
            io.grpc
            grpc-netty
            ${grpc.version}
            provided
        
        
            io.grpc
            grpc-protobuf
            ${grpc.version}
            provided
        
        
            io.grpc
            grpc-stub
            ${grpc.version}
            provided
        
        
            com.google.protobuf
            protobuf-java
            ${protobuf.version}
        
        
            io.netty
            netty-all
            4.1.2.Final
        
        
        
            org.apache.logging.log4j
            log4j-api
            2.6.1
        
        
            org.apache.logging.log4j
            log4j-core
            2.6.1
        
        
            org.apache.logging.log4j
            log4j-slf4j-impl
            2.6.1
        
    

    
        protobuf
        
            
                kr.motd.maven
                os-maven-plugin
                1.4.1.Final
            
        
        
            
                org.xolstice.maven.plugins
                protobuf-maven-plugin
                0.5.1
                
                    
                        com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}
                    
                    grpc-java
                
                
                    
                        
                            compile
                            compile-custom
                        
                    
                
            
        
    

五、编译生成代码
通过Maven插件protobuf双击compile编译生成代码。生在代码默认在target中,拷贝到你的工程中即可使用。

Google Protocol Buffer 的使用(一)_第2张图片

参考:
Google Protocol Buffer的源码地址: https://github.com/protocolbuffers/protobuf
Google Protocol Buffer的官方文档: https://developers.google.com/protocol-buffers/

你可能感兴趣的:(Google Protocol Buffer 的使用(一))