idea使用protobuf

本文参考:https://blog.csdn.net/m0_37695902/article/details/129438549 再次感谢分享

什么是 protobuf ?

Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。
由于protobuf是跨语言的,所以用不同的语言序列化对象后,生成一段字节码,之后可以其他任何语言反序列化并自用,大大方便了跨语言的通讯,同时也提高了效率。

为什么要使用Protobuf?

在网络传输中,protobuf序列化对象后生成的字节码比较小,传输数据小,占用带宽少

使用protobuf

下载protobuf编译器:https://github.com/protocolbuffers/protobuf/releases
在这里插入图片描述

配置环境变量

在Path里添加文件地址:D:\soft\protoc\bin

测试
protoc

在这里插入图片描述

protoc --version

在这里插入图片描述

idea使用protobuf

在idea中找到File—>setting—>Plugins,输入protobuf,并安装如下两个插件
在这里插入图片描述
重启idea并设置全局protobuf:Tools—>Configure GenProtobuf
在这里插入图片描述
protoc path :我们下载的 protobuf 编辑器的位置,在 bin 目录下有一个 .exe 文件
quick gen : 对应的语言 Java

使用

1、引入pom文件

<!--  protobuf 支持 Java 核心包-->
<dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><version>3.15.3</version>
</dependency>
<!--  proto 与 Json 互转会用到-->
<dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java-util</artifactId><version>3.15.3</version>
</dependency>

2、创建protobuf文件
在src/main/resources下创建proto后缀的文件,demo.proto

//使用 proto3 语法 ,未指定则使用proto2
syntax = "proto3";//生成 proto 文件所在包路径
package com.xxxx.tsp.own.entity;//生成 proto 文件所在包路径
option java_package = "com.xxxxx.tsp.own.entity";//生成 proto 文件名
option java_outer_classname="DemoProto";message Demo{//自身属性int32 id = 1;string code = 2;string name = 3;
}

3、生成java类文件
选择.proto文件右键点击quick gen protobuf here即可生成java文件。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61016.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

effective c++学习笔记(前五章)

目录 一 让自己习惯C01 视C为一个语言联邦02 尽量以const&#xff0c;enums&#xff0c;inline替换#define**指针常量--指针类型的常量&#xff08;int * const p)****常量指针—指向“常量”的指针&#xff08;const int * p&#xff0c; int const * p&#xff09;**类静态常…

MyBatis学习——第六篇(mybatisPlus)

1&#xff1a;什么是mybatisPlus 1.1&#xff1a;mybatisPlus介绍 mybatisPlus官网&#xff1a;MyBatis-Plus mybatisPlus是一个mybatis的增强工具&#xff0c;只做增强&#xff0c;不做改变。目的是为了简化开发代码&#xff0c;提高效率而生的。 1.2&#xff1a;mybatisPl…

联发科:2023年7月合并营收317.63亿元新台币,环比下降 16.8%

据联发科公布&#xff0c;2023年7月合并营收为317.63亿元新台币&#xff08;折合人民币约72.1亿元&#xff09;&#xff0c;环比下降16.8%&#xff0c;同比下降22.3%。而联发科前七个月的累计合并营收为2255.5亿元新台币&#xff08;折合人民币约512亿元&#xff09;&#xff0…

【论文阅读】EULER:通过可扩展时间链接预测检测网络横向移动(NDSS-2022)

作者&#xff1a;乔治华盛顿大学-Isaiah J. King、H. Howie Huang 引用&#xff1a;King I J, Huang H H. Euler: Detecting Network Lateral Movement via Scalable Temporal Graph Link Prediction [C]. Proceedings 2022 Network and Distributed System Security Symposium…

Android Studio实现简单ListView

效果图 MainActivity package com.example.listviewtest;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.widget.ListView;import com.example.listviewtest.adapter.PartAdapter; import com.example.listviewtest.bean.PartB…

netty面试题2

1、一次完整的HTTP请求的所经历的步骤 1、首先进行DNS域名解析&#xff08;本地浏览器缓存、操作系统缓存或者DNS服务器&#xff09;&#xff0c;首先会搜索浏览器自身的DNS缓存&#xff08;缓存时间比较短&#xff0c;大概只有1分钟&#xff0c;且只能容纳1000条缓存&#xff…

element-plus的日期选择器限定选择范围

目录 前言一、最近30天总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; element-plus的日期选择器限定选择范围&#xff0c;由于数据的获取范围限定&#xff0c;需要前端处理一下日期的选择范围 提示&#xff1a;以下是本篇文章正文内容&#xff0c…

fastadmin自定义键值组件Fieldlist

需求场景&#xff1a; 后台设置前端的固定话费充值金额。编辑时要求能够增删改&#xff0c;给到前端的数据&#xff0c;是要根据金额正序排列&#xff0c;用fastadmin的键值组件(Fieldlist)&#xff0c;使用Art-Template模板语法自定义模板。 最终效果如下图所示&#xff1a; …

面试八股文Mysql:(1)事务实现的原理

1. 什么是事务 事务就是一组数据库操作&#xff0c;这些操作是一个atomic&#xff08;原子性的操作&#xff09; &#xff0c;不可分割&#xff0c;要么都执行&#xff0c;要么回滚&#xff08;rollback&#xff09;都不执行。这样就避免了某个操作成功某个操作失败&#xff0…

ChatGPT会取代搜索引擎吗?BingChat、GoogleBard与ChatGPT区别

目前暂时不会&#xff0c;ChatGPT为代表的聊天机器人很可能会直接集成到搜索中&#xff0c;而不是取代它。微软已经通过Bing Chat和Bing做到了这一点&#xff0c;它将“聊天”选项卡直接放入Bing搜索的菜单中。Google、百度也分别开始尝试通过其AI生成技术将Google Bard、文心一…

DARPA-TC-engagement5-theia部分数据格式分析

转换出来的jsons数据主要分为四大类&#xff1a;Event、Subject、Object和Principal&#xff0c;分别代表系统事件、主体、客体和用户。各种大类中子类的数量&#xff0c;取决于CDM的版本。ShadeWatcher使用的是e3的数据&#xff0c;采用的是CDM18&#xff0c;而e5默认使用的是…

C语言:函数栈帧的创建和销毁(32位下观察)

一、寄存器&#xff08;0&#xff1a;3&#xff1a;35&#xff09; 1.寄存器有哪些&#xff1f;&#xff08;6种&#xff09;&#xff08;0&#xff1a;38&#xff1a;50&#xff09; 2.esp和ebp这两个寄存器中&#xff0c;存放的是什么&#xff1f;用来干嘛的&#xff1f;&a…