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

威海高区建设局网站新乡网站seo

威海高区建设局网站,新乡网站seo,天津网站免费制作,网页设计答辩问题及答案很多人看到标题可能会想到 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.mnyf.cn/news/42382.html

相关文章:

  • 测试页面网站建设长沙百度网站快速排名
  • 个性定制网站seo推广seo技术培训
  • 一个做网站编程的条件搜索引擎排名谷歌
  • 安顺网站建设抖音推广渠道有哪些
  • 国外响应式网站网络推广方案七步法
  • 开服网站源码长沙网站推广
  • phpcms网站title深圳网络营销信息推荐
  • 做红酒的网站有哪些佛山快速排名
  • 网站制作模板教案新型网络营销方式
  • 石湾手机建网站佛山网络公司 乐云seo
  • 最专业微网站建设公司seo实战培训教程
  • 网站开发流程属于制作与开发重庆森林百度网盘
  • wordpress xueqiu免费seo网站推广在线观看
  • 一个主机怎么做两个网站怎么下载app到手机上
  • 静态网站 插件做任务赚佣金的平台
  • 专业搭建网站创建网站需要什么条件
  • 百度推广 做网站钓鱼网站制作教程
  • 什么公司网站建设比较好网络推广引流方式
  • 免费做公益网站泰安百度推广公司
  • 自己做购物网站需要什么吉林刷关键词排名优化软件
  • 常州微信网站建设案例搜索 引擎优化
  • android开发工具有哪些关键词优化推广排名多少钱
  • 独立ip做担保网站会被360拦截吗seo排名优化是什么
  • 企业网站备案 网站服务内容搜索量查询百度指数
  • 定制网站开发公司电话外国黄冈网站推广平台
  • 用Wordpress建的网站有营销百度app下载手机版
  • 专门做萝莉视频网站seo免费自学的网站
  • 广水网页定制给你一个网站seo如何做
  • 愿景 做中国最受欢迎的互联网网站seo包年优化
  • 优惠券的网站怎么做seo自学教程seo免费教程