lombok建造者模式支持父类
发表于|更新于
|浏览量:
精力充沛的青春,是不怎么容易灭亡的。——卡罗萨
使用@SuperBuilder注解代替原本的@Builder就可以了
如果对建造者模式不太了解的,可以看我以往写的博客:
https://VampireAchao.github.io/2020/11/08/%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F/
这里做个对比,加之前:



加之后:


可以看到子类开始的建造者模式成功访问到父类属性,不过最终获取到的还是父类
如果想要最终获取到的还是子类,可以在父类也使用@SuperBuilder
不过父类的父类也要有@SuperBuilder

相关推荐
2022-04-10
mybatis拦截器
你要有种,你就扬着脸一直往前冲。可是你得跟妒忌,毁谤,庸俗斗争,跟所有的人斗争。——巴尔扎克《高老头》 今天学了点Mybatis拦截器,参考了Mybatis-Plus部分代码 首先是使用@Intercepts注解,它的源码注释告诉我们可以这样使用: mybatis-plus中使用的就是这种方式,参考: 这里可以传入@Signature,指定它的type为: Executor,执行器,我们可以看到它包含了如下方法,说明它是一个比较全能的范围,可以做很多事情参数如处理、返回处理、重写sql等 我们依葫芦画瓢写两个: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364package com.ruben.simplescaffold.plugin;import cn.hutool.core.collection.CollUtil;import cn.hutool.core.lang.Opt;i...
2023-12-07
声网rtm加密传输
忍耐能抚慰所有的不幸。——维吉尔 加密方式,文档: https://doc.shengwang.cn/api-ref/rtm2/android/toc-configuration/configuration#RtmEncryptionConfig 1234567891011121314 @Beanpublic RtmClient rtmClient() throws Exception { RtmEncryptionConfig rtmEncryptionConfig = new RtmEncryptionConfig(); rtmEncryptionConfig.setEncryptionMode(RtmConstants.RtmEncryptionMode.AES_256_GCM); rtmEncryptionConfig.setEncryptionKey(agoraProperties.getEncryptionKey()); rtmEncryptionConfig.setEncryptionSalt(agoraPropertie...
2020-10-07
java反编译class
让我们不要用过去的哀悉拖累我们的记忆。——莎士比亚 反编译class为java文件,我们可以用到jad 下载 使用方式: 首先解压jar包 在jad所在目录下执行 1jad.exe -r -ff -d D:\mc\source\FortuneTelling -s java D:\mc\source\original-FortuneTelling-1.0-SNAPSHOT\**\*.class ps: 1jad.exe -r -ff -d [反编译后代码存放路径] -s java [需要反编译包含class的目录]\**\*.class 帮助 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810...
2023-07-23
apache-incubator-streampark源码编译本地运行(四)
泰山不让土壤,故能成其大;河流不择细流,故能就其深。——李斯 首先是编译,由于我换到了mac,并且maven profile又发生了改变: 执行跟目录的build.sh 执行后scala报错。。。 此时删除掉maven本地repository里的org.scala-lang 重新执行即可 1Caused by: java.lang.ClassNotFoundException: org.apache.streampark.shaded.org.slf4j.Logger 主要最后的部分: 1Caused by: java.lang.ClassNotFoundException: org.apache.streampark.shaded.org.slf4j.Logger 我们切换到shaded模块进行install
2021-10-12
mybatis-plus过滤不需要查询的字段
仁义忠信,乐善不倦,此天爵也 。一一孟子 之前写过过滤出需要查询的字段,也简单介绍了下Mybatis-Plus的select函数 今天写了个小函数,可以直接传入不需要查询出来的字段 12345678910111213/** * 过滤不需要查询的字段 * * @param wrapper 条件构造器 * @param functions 字段 * @return com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<T> * @author <achao1441470436@gmail.com> * @since 2021/10/12 15:51 */@SafeVarargspublic static <T> LambdaQueryWrapper<T> filterProperties(LambdaQueryWrapper<T> wrapper, SFunction<T, Serializable>... functions)...
2023-03-05
mybatis中@One
不要放纵你的爱情,不要让欲望的利剑把你射中——莎士比亚 前两天写了mybatis一对多查询 今天写一下在代码中如何使用@One实现一对一的关联查询 这里的@One注解类名org.apache.ibatis.annotations.One 代码如下: 1234567891011121314151617181920@Select("<script>" + "select *" + " from user_role\n" + " <where>" + " <if test=\"userId != null\">" + " AND user_id = #{userId}" + " </if&g...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog