Lombok 下的@Builder注解用法

Lombook插件在我们日常开发中经常使用 的确给我们工作减轻了不少负担
近期发现一个更加有意的写法 分享给大家 话不多说 来人直接上图片

Dao实体对象:
在这里插入图片描述
@Builder注解用法

P1常规写法:

在这里插入图片描述

P2: 新写法更加直观优雅哈

在这里插入图片描述

那么@Builder内部帮我们做了什么?
1~ 创建一个名为ThisClassBuilder的内部静态类,并具有和实体类形同的属性(称为构建器)。
2~在构建器中:对于目标类中的所有的属性和未初始化的final字段,都会在构建器中创建对应属性。
3~在构建器中:创建一个无参的default构造函数。
4~在构建器中:对于实体类中的每个参数,都会对应创建类似于setter的方法,只不过方法名与该参数名相同。 并且返回值是构建器本身(便于链式调用),如上例所示。
5~在构建器中:一个build()方法,调用此方法,就会根据设置的值进行创建实体对象。
6~在构建器中:同时也会生成一个toString()方法。
7~在实体类中:会创建一个builder()方法,它的目的是用来创建构建器。

个人总结:
在业务层如果有多个参数需要重新包装VO的话,用@Builder注解可以避免写大量的Set代码 让业务层看起来干净整洁 有点类似于响应式编程的写法
优点:
不需些太多的set方法来定义属性内容
写法更优雅
缺点:
在生成对象实例之前,实际上是先创建了一个Builder实例,这样很明显额外占用了内存。

猜你喜欢

转载自blog.csdn.net/weixin_48134878/article/details/115252190