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

相关推荐
2023-05-03
为shenyu的PortUtils.findPort添加单元测试
爱好自由是人的天性,但往往过度而陷于放纵。斯宾诺莎 今天为shenyu的shenyu-client-core模块下添加了PortUtils.findPort的test case: https://github.com/apache/shenyu/pull/4604 对应的代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Ve...
2023-11-25
feign使用url参数传参@SpringQueryMap使用
与人沟通,最重要的事情是听取没有说出来的话。——德拉克 今天使用open-feign发起请求时发现个问题,我特别喜欢的url参数传参不好使了: 12345@FeignClient("another-service")public interface MyFeignClient { @GetMapping("/foo/bar") Foo<Bar> get(Foo bar);} 对应我们的controller 12345@GetMapping("foo/bar")public Foo<Bar> get(Foo bar) { // ... return foo;} 然后发起了请求发现根本没收到参数。。。 但如果我们添加了注解@RequestParam 12345@FeignClient("another-service")public interface MyFeignClient { @Get...
2023-08-01
windows文件资源管理器排序
单独一个人可以灭亡的地方,两个人在一起可能得救。——巴尔扎克 今天做一个需求:按照windows文件资源管理器的排序规则进行文件排序 但我在研究过程中,发现了一丝不妙,这玩意儿的规则比我想的复杂 自己之前写了一版 js文件名排序 | 阿超 但是感觉不特别满意,于是到处去搜了搜 发现微软的vscode的一个相关的issue,指出文件资源管理器和vscode中的排序发生了不一致 https://github.com/microsoft/vscode/issues/27759 然后我大概找到了vscode里的文件名排序js源码: https://github.com/microsoft/vscode/blob/main/src/vs/base/common/comparers.ts#L157 感觉还行,但我又发现一位朋友曾经写过的java版本的,就直接拿来用了 https://github.com/kookob/windows-filename-sort 效果还不错,勉强满足了需求hh
2021-06-12
parallelStream
我又愿中国青年只是向上走,不必理会这冷笑和暗箭。——鲁迅 我们在开发中经常使用stream去处理我们的集合 这里分享一个并行流:parallelStream 它可以允许我们的声明式编程以多线程并行的方式执行 首先我们可以比较一下性能 1234567891011121314List<Integer> list = new SecureRandom().ints().limit(10000000).boxed().collect(Collectors.toList());long startTime = System.nanoTime();// 求和操作int sum = list.stream().mapToInt(Integer::intValue).reduce(0, Integer::sum);System.out.println("普通stream求和结果:" + sum);long normalStreamEndTime = System.nanoTime();System.out.println("普通stream耗时:&q...
2025-12-25
conductor
今天所做之事勿候明天,自己所做之事勿候他人。——歌德 Conductor:源自 Netflix 的可扩展工作流编排引擎当你的系统从“一个应用”演进为“几十上百个微服务 + 一堆事件”,你就会需要一个可靠、可观察、可伸缩的编排引擎,把这些复杂的流程组织起来。Conductor 正是为此而生——它最初由 Netflix 构建,用于管理分布式、异步的微服务与事件驱动工作流;如今由 Orkes 团队在社区中持续维护与发展。 仓库主页:conductor-oss/conductor 官方站点:Conductor OSS README 永久链接(信息来源):README.md@aa7de92 默认分支:main 项目描述(仓库 Description):“Conductor is an event driven orchestration platform providing durable and highly resilient execution engine for your applications” 许可协议:Apache 2.0 进一步了解 Netflix ...
2020-06-25
cron表达式
表达式 1234567891011121314151617每隔5秒执行一次:*/5 * * * * ? 每隔1分钟执行一次:0 */1 * * * ? 每天23点执行一次:0 0 23 * * ? 每天凌晨1点执行一次:0 0 1 * * ? 每月1号凌晨1点执行一次:0 0 1 1 * ? 每月最后一天23点执行一次:0 0 23 L * ? 每周星期天凌晨1点实行一次:0 0 1 ? * L 在26分、29分、33分执行一次:0 26,29,33 * * * ? 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

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