前言
我们写代码如果要创建一个对象一般会使用new的方式,
若是对象有属性,则使用set方法进行复制,
例如:
Student student = new Student();
student.setName("zhangsan");
student.setAge(18);
...
这种是可以的,但是如果我们对象的属性值有很多呢?
你想想,就这些复制的代码就会有很多,100个属性,就要写100行这种,写起来太麻烦
有什么方式可以简单一点呢?
lombok 了解一下
lombok大家都不陌生吧,这个插件帮助我们实现了一些方法,
比如getter和setter方法,构造方法等;
引入lombok:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
其中lombok里面有一个注解:@Builder
这个注解可以帮我们new对象,具体怎么用呢?
Student.builder()
.sno( "001" )
.sname( "admin" )
.sage( 18 )
.sphone( "110" )
.build();
记得最后要有一个build();
是不是很简单,那我们其实还有默认值,怎么在Builder中加入字段的默认值呢?
问题一:
因为这里有个问题,我们用了Builder的话,在字段上给默认值是无效的,只能重新动这个类?
解决办法:
lombok有@Builder.Default的注解声明,注解在需要默认值的字段上即可。
题外话
lombok 其实也非常常用了,但是如果你们公司没有统一规定使用lombok的话,微服务之间交互可能有问题,这个我还不是很清楚,不过建议大家都用lombok即可;
若是你们公司没有用lombok,也没有推荐使用lombok,要实现简单赋值对象属性也很简单,jdk 8的通用Builder可以了解一下!
这个方式,不需要改造原来类,不需要 lombok 插件支持;用到的话可以查下具体怎么使用!