开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
PS:已经更文2天
前言
我发现写把自己学到的东西输出也是一个很好的方法,同时也可以锻炼自己的表达能力。感觉自己会的东西,让自己说出来又不知道怎么说。通过文章的形式,可以让自己对知识理解更加通透。
一、Lombok的引入
在IDEA 中通过plugins安装 Lombok插件,因为我这个是在Mac上安装的,这个是在preferences里,win下应该在setting中。(不知道算不算废话就顺便提一嘴😭)
安装好以后我们在pom.xml引入
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
这里我们可以到maven的官网去引入依赖 lombok/1.18.12大家在选在选择引入的时候最好选用的人数多的。
引入错误
这里放一个我自己在引入的时候出现的错误❌
大家在往pom.xml引入Lombok的时候记得把它放在
<dependencies>
引入的依赖放在这里面不然编译器会报错
</dependencies>
修改过后
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
二、@Data
我们创建一个user类:里面存放我们的用户id,姓名,性别,年龄,地址 (gender设为int类型,我们用0,1来表示性别就可以)
private int id;
private String name;
private int gender;
private int age;
private String address;
我们讲这些数据设为private后,以前我们去设置和获得这些值的时候会在在类当中写get和set方法,虽然idea可以自动生成get/set方法,但是这样一来会让我们的代码量增加,变得很复杂。现在我们可以通过Lombok注解不用再去写这些get/set方法,也能实现get/set。其实它的本质还是get/set。
增加方法
对比:以前我们的get/set方法
现在只要我们在类上打上注解@Data也可以实现相同的效果
(第一次☝️使用会不会感到很amazing,以前我就觉得这个get/set方法写来写去很麻烦,又占地方,现在简洁明了了😊😊)
这里放一张实现效果截图🐶
三、@Setter
可以看到我们为类打上注解(@Setter)后:class中除了增加每个变量的set方法还有一个默认的构造函数
三、@Getter
同样我们的@Getter注解也是多了一个默认构造函数
四、@Log4j
Log4j日志框架,这里我就不展开多说了,我去查了一下资料之后发现内容还挺多,打算把这个另外放一篇文章来讲细讲。
五、@AllArgsConstructor
🔥打上个注解后会自动为我们的类加含参数构造方法
六、@NoArgsConstructor
打上注解🤔提供无参默认构造函数
七、@EqualsAndHashCode
🌧️打上注解会生成equals,hashcode,canequal三个方法
八、@NonNull
💓在属性上打上注解,会检测该属性是否为空,为空就抛出空指针。不过Java类中这些成员属性默认都是有值的(null)。
有点不知道它的作用在哪,希望知道的大哥能给小弟讲讲🦐
九、 @ToString
😄在类上打上该注解,会自动生成tostring方法。
十、 @RequiredArgsConstructor
🐷注解打在类上,该注解会为打上@NOTNULL和用final修饰的属性添加构造函数参数。
十、 @Value
🀄️这个注解打在类上会生成,含参数的构造方法,所有属性的get方法, equals,toString,
十一、 @SneakyThrows
注解在方法上,会捕获方法中的异常,可以使用SneakyThrows(Exception.class)的方法捕获指定的异常。
- @Synchronized
synchronized中文意思是同步,也称之为”同步锁“synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果。synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。
锁的这里,我还不太会就不展开了,后面我学会了再把锁这个加上去。
总结:
总算写完了,发现自己有好多基础的东西还不会,触及自己的知识盲区也挺好的。后面我会继续给大家更的!!!