window下面使用protobuf

下载好proto.exe之后,我们需要编写 .bat文件

下面是一个已经写好的文件格式内容

@echo off
set DIR=%~dp0
echo %DIR%
cd /d “%DIR%”
for %%i in (proto/*.proto) do (
echo %%i
protoc –proto_path=proto –java_out=src proto/”%%i”
)
pause
exit

其中,注意第七行 –proto_path=proto 这个等于号后面不能有空格,不然就会提示权限错误。
for循环里面 proto/*.proto 表示查找当前目录下,proto文件夹里面所有的proto结尾的文件

–proto_path=proto 表示编译的路径
–java_out=src 表示java文件输出的路径
最后的
proto/”%%i” 表示文字提示
很明显 proto文件夹的目录在三个地方用到了

在使用过程中,刚开始可能会和我们想象的不一样。
比如,我们并不能直接通过使用new 关键字来创建对应的对象。
这个时候,我们需要学习另外一个知识。
java的设计模式–建造者模式(build模式)

这一点对于Protocol Buffer而言,是巧妙的使用了设计模式中的Builder模式。
换言之,对于所有消息字段的修改操作均需要通过与其对应的Builder接口辅助完成。

下面关于建造者的理解
如下链接
https://www.cnblogs.com/cc11001100/p/5939220.html

下面我们学习一下,如何正确使用proto编译后的java类

//获取builder
Builder builder = EquipMessage.newBuilder();
//设置接口数据
builder.setCode(0);
builder.setSenderId(10);
//通过建造者的方式把需要的对象创建出来
EquipMessage build = builder.build();

注意 ,就算我们有了build对象,我们也不能通过build。set的方式给这个对象设置数据。
如果需要设置数据
还需要获取builder

Builder builder2 = build.toBuilder();
有了这个,又可是设置了。

有了build之后,虽然不能设置,但是可以get方法获取数据哦。
这个就是建造者模式。protobuf的类就是这么设置的。使用也就是这样。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值