当前位置: 首页 > news >正文

佛山市方维网络技术有限公司seo排名优化app

佛山市方维网络技术有限公司,seo排名优化app,西安企业seo,WordPress底部中间添加备案号很多人看到标题可能会想到 lombok 的 Builder,lombok 在国内用的挺多的,开源的组件中 mybatis-plus 中用到了这个,使用这个有一个问题就是通过对应 get 和 set 方法找不到对应的赋值方法,因为 lombok 使用了 apt 在编译期生成了相…

很多人看到标题可能会想到 lombok 的 @Builder,lombok 在国内用的挺多的,开源的组件中 mybatis-plus 中用到了这个,使用这个有一个问题就是通过对应 get 和 set 方法找不到对应的赋值方法,因为 lombok 使用了 apt 在编译期生成了相关的字节码。这样对于喜欢看源码的人来说很不好,起码我在看国外开源的代码时没有看到过使用 lombok 的。

在工作期间就想到了一点,idea 中有没有那种相关生成 Builder 代码的插件?

经过多次尝试,发现了一个名为 innerbuilder 的插件可以做到和 lombok 生成的代码一致。

InnerBuilder - IntelliJ IDEs Plugin | Marketplace

如下代码为例

public class SceneProductRelaInfo {/*** 场景信息*/private SysnSceneProductInfo sysnSceneProductInfo;/*** 场景关联商品信息*/private List<WarePortal> productInfoList;public SysnSceneProductInfo getSysnSceneProductInfo() {return sysnSceneProductInfo;}public void setSysnSceneProductInfo(SysnSceneProductInfo sysnSceneProductInfo) {this.sysnSceneProductInfo = sysnSceneProductInfo;}public List<WarePortal> getProductInfoList() {return productInfoList;}public void setProductInfoList(List<WarePortal> productInfoList) {this.productInfoList = productInfoList;}}

在 idea->Settings->Plugins 中搜索 innerbuilder 进行安装

代码右键 Generate

按照如下处理即可

 

public class SceneProductRelaInfo {/*** 场景信息*/private SysnSceneProductInfo sysnSceneProductInfo;/*** 场景关联商品信息*/private List<WarePortal> productInfoList;private SceneProductRelaInfo(Builder builder) {setSysnSceneProductInfo(builder.sysnSceneProductInfo);setProductInfoList(builder.productInfoList);}public SysnSceneProductInfo getSysnSceneProductInfo() {return sysnSceneProductInfo;}public void setSysnSceneProductInfo(SysnSceneProductInfo sysnSceneProductInfo) {this.sysnSceneProductInfo = sysnSceneProductInfo;}public List<WarePortal> getProductInfoList() {return productInfoList;}public void setProductInfoList(List<WarePortal> productInfoList) {this.productInfoList = productInfoList;}public static final class Builder {private SysnSceneProductInfo sysnSceneProductInfo;private List<WarePortal> productInfoList;private Builder() {}public static Builder builder() {return new Builder();}public Builder sysnSceneProductInfo(SysnSceneProductInfo val) {sysnSceneProductInfo = val;return this;}public Builder productInfoList(List<WarePortal> val) {productInfoList = val;return this;}public SceneProductRelaInfo build() {return new SceneProductRelaInfo(this);}}
}

最终生成出来的代码和 lombok 的一致。

SceneProductRelaInfo build = SceneProductRelaInfo.builder().productInfoList(null).sysnSceneProductInfo(null).build();

上面的代码逻辑在使用 @Builder 注解和生成的代码中切换,没有异常。

lombok 原理

https://blog.csdn.net/ly279481968/article/details/108000799

https://www.jianshu.com/p/302c56f9574d

https://zhuanlan.zhihu.com/p/485004057

https://zhuanlan.zhihu.com/p/574760548

http://www.yayakq.cn/news/848894/

相关文章:

  • 确定网站开发团队惠州市住房和城乡建设局网站
  • 品牌高端网站建设山东监理工程师考试最新消息
  • 山西建设厅网站密钥网站 编程 语言
  • 优客逸家网站建设郓城县城乡和建设局网站
  • 去迪拜网站做乞丐知名网站建设开发
  • 常德网站建设开发公司南宁网站建设公司如何为老板打造网站赚钱的
  • 绵阳商城网站建设镇江网站定制
  • 建立门户网站多少钱wordpress themes.php
  • 在谷歌上做英文网站开发工具箱
  • 企业服务中心怎么改成创作者服务中心北京网站seo公司
  • 做地方房产网站怎么样嘉兴网站公司
  • 网站建设大客户沟通技巧十堰seo优化分析
  • 嘉兴网站建设正规公司中国做外贸网站
  • 留言网站模板wordpress双语模板
  • 网站建设太金手指六六十八app开发制作在哪里的
  • 杭州微信网站建设h5设计软件
  • 建设机械网站策划班级网站设计论文
  • 营销型网站成功案例建 网站 是软件开发
  • 网站超链接怎么做 word文档天元建设集团有限公司三层九中心
  • 青岛建设监理协会网站360的网站怎么做
  • 平度好的建设网站上海注册公司地址费用
  • 怎么利用网站上的图片设计软件需要多少钱
  • 网站空间 ASP烟台专业网站建设公司
  • 化工网站制作wordpress产品布局
  • 中海园林建设有限公司网站高密网站建设
  • 企业网站有哪几个类型wordpress页面过期
  • 在手机上建设网站教程河南最新新闻头条
  • 营销型网站建设的五力原则包括wordpress 端口 跳转
  • 怎样做视频网站惠州小程序推广
  • 常用的网站开发设计语言公司介绍模板怎么写