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-09-07
对接雅虎日语文本校对
青年时种下什么,老年时就收获什么——易卜生 API地址:https://developer.yahoo.co.jp/webapi/jlp/kousei/v2/kousei.html 代码: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758package com.ruben;import cn.hutool.core.map.MapUtil;import cn.hutool.core.text.CharPool;import cn.hutool.core.text.StrPool;import cn.hutool.http.HttpRequest;import cn.hutool.http.HttpUtil;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;import cn.hutool.log.StaticLog;import cn....
2023-10-10
srs信令java版
会赚钱的人,即使身无分文,也还有自身这个财产。——亚兰 前两天讲到了 srs实现多人聊天室 但是遇到个问题,官方的信令是go语言版的,于是在gpt协助下翻译成java版了 https://gitee.com/VampireAchao/simple-srs-signaling 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071<?xml version="1.0" encoding="UTF-8"?><project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation=&quo...
2023-05-30
mp方法注入支持typeHandler
画虎画皮难画骨,知人知面不知心。——佚名 今天处理了mp中自定义注入方法的typeHandler逻辑,只需要 #{et.name,typeHandler=org.dromara.streamquery.stream.plugin.mybatisplus.JsonFieldHandlerTest$JsonFieldHandler}即可直接指定typeHandler 123456789101112131415161718<script> <if test="list != null and !list.isEmpty()">UPDATE user_info SET name=case id<foreach collection="list" item="et"><choose><when test="et != null and et.name != null">when #{et.id} then #{e...
2022-07-04
reducing和reduce
我的悲伤还来不及出发,就已经到站下车。——《第七天》 在java中,分为Collectors.reducing和Stream#reduce reduce是减少的意思,此处意为聚合 聚合是聚拢、合并的意思 我们来看看这俩函数的区别吧,下方我用了静态导入: 1234567import java.math.BigDecimal;import java.util.*;import java.util.function.BinaryOperator;import java.util.stream.Collector;import java.util.stream.Stream;import static java.util.stream.Collectors.*; 首先是写法差异,对于只有一个参数的,这个参数指定了我们聚合的操作,此处我做一个累加,返回值为Optional证明有可能不存在值,就没有累加 1234Optional<Integer> sumOpt = Stream.iterate(0, i -> ++i).limit(10).collect(reduci...
2023-02-12
h2换hsqldb最新版报错
沉溺于追求物质享受,就等于给飞鸟的双翅系上了黄金——佚名 直接改依赖: 123456789101112<!--<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> <scope>test</scope></dependency>--><dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.7.1</version> <scope>test</scope></dependency> 随便运...
2021-11-19
TransmittableThreadLocal
我们一直寻找的,却是自己原本已经拥有的;我们总是东张西望,唯独漏了自己想要的,这就是我们至今难以如愿以偿的原因——柏拉图 分享一个TransmittableThreadLocal作为InheritableThreadLocal的拓展 出自阿里,github地址: 1https://github.com/alibaba/transmittable-thread-local 部分描述: JDK的InheritableThreadLocal类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的执行组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的ThreadLocal值传递已经没有意义,应用需要的实际上是把 任务提交给线程池时的ThreadLocal值传递到 任务执行时。 本库提供的TransmittableThreadLocal类继承并加强InheritableThreadLocal类,解决上述的问题,使用详见User Guide。 整个TransmittableThreadLocal库的核心功能(用户API与框架/中间件...
