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

相关推荐
2020-11-22
set取交集、并集、差集
蜡烛的美是绝唱的美,它以自焚的痛苦将自己化为光和热,照亮了别人。——鲁迅 123456789101112131415HashSet<String> hashSet = new HashSet<>(Arrays.asList("0", "1", "2"));HashSet<String> hashSet2 = new HashSet<>(Arrays.asList("1", "2", "3"));// 取交集hashSet.retainAll(hashSet2);hashSet.forEach(System.out::println);System.out.println();HashSet<String> hashSet3 = new HashSet<>(Arrays.asList("0", "1", "2"));// 取并集h...
2021-01-15
maven依赖的小坑
说谎话的人所得到的,就只即使觉说直话也没有人相信。——伊索 今天引入spire.doc依赖时遇到一个小坑 提示Could not find artifact e-iceblue:spire.doc.free:pom:3.9.0 in aliyunmaven (https://maven.aliyun.com/repository/public) 可是我明明已经配置了 1234<repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url></repository> 后来发现原来是我maven的配置文件settings.xml是这么写的 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162...
2021-09-26
自定义注解和AOP
生命不可能有两次,但许多人连一次也不善于度过——吕凯特 我们写一个注解用AOP去实现接口的访问记录,这个也可以用于日志记录等地方 12345678910111213141516import java.lang.annotation.*;/** * 记录 * * @author <achao1441470436@gmail.com> * @since 2021/7/29 11:28 */@Inherited@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface WithMe { String value();} 然后在AOP中这样写 123456789101112131415161718192021222324252627282930313233import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj....
2021-11-20
springboot学习项目
物有甘苦,尝之者识;道有夷险,履之者知。一一明·刘基《拟连珠》 分享一个能用来学习的项目 Spring Boot Demogitee地址 介绍: 项目简介spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo,已经完成 55 个。 该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)、通用Mapper(快速操作Mybatis)、PageHelper(通用的Mybatis分页插件)、mybatis-plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存...
2021-05-20
在js中获取thymeleaf变量
大人者,不失其赤子之心者也。——《孟子·离娄下》 代码很简单 如下即可,这里的'Achao'是为了防止编译报错 1234 <script th:inline="javascript"> var data = /*[[${data}]]*/ 'Achao'; console.log(data);</script>
2022-05-01
mapstruct的spring拓展
活着不一定要鲜艳,但一定要有自己的颜色。——张曙光 首先按照惯例放官网: https://mapstruct.org/documentation/spring-extensions/reference/html/ 基本的使用方式之前博客已经写过了我们就不再细表,这里简单放上链接 https://VampireAchao.github.io/2022/03/23/mapstruct/ 在此之前还要配置对应的依赖和插件 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 <properties> <java.version>1.8</java.version> <!-- 编译生成代码插件版本号开始(避免mapstruct和lombok冲突,因此此处指定一个兼容的版本) --> <lombok.version&g...
