java setter方法_别再写getter,setter方法了,用Lombok来简化你的代码吧

前言

在实际开发中,有些代码是重复的、IDE一键生成的,不写不行,写了又觉得代码太臃肿,不美观。如果你也有这种体会,那么,请使用Lombok插件吧,真的非常好用。Lombok的使用也非常简单,都是各种各样的注解。

引入依赖

org.projectlombok

lombok

true

IDEA安装Lombok插件

单单引入Lombok的包还是不够的,ide会识别不到,会提示你getter,setter等方法没有定义。所以,需要先安装Lombok插件(eclipse,vs code等可以自行百度安装)

05f43c908b5de8878e849c517097aa85.png

点击 File -> setting -> plugins,搜索Lombok安装即可,安装完后重启IDEA。

Lombok常用注解

1.Data注解

该注解作用在类上,默认为类生成get 、 set、equals、hashCode、toString 等方法。定义一个Happyjava类如下:

@Data

public class Happyjava {

private String username;

private String pwd;

}

使用了Data注解标识在类上,我们可以通过ide的自动补全功能查看Data注解为我们实现了哪些方法:

a849f843872977607922506a705a2386.png

可以看到,get 、 set、equals、hashCode、toString 这些pojo必备的方法都已经实现了。

2.Setter注解

有些类不需要getter方法,那么我们可以单独使用setter注解来标识。

da5705bf4ee24484c08309c79ee45f9b.png

通过ide的自动补全功能,可以看到为我们实现了getter方法

9586564c73bf5d3ca8786f52d4868db5.png

3.Getter注解

有些类只提供getter返回,不允许外部设置属性值,这时候可以使用getter注解。

@Getter

public class Happyjava {

private String username;

private String pwd;

}

4.AllArgsConstructor注解

该注解为我们提供了一个全参的构造器。

ef5c205ab06dceb3355c9074a876329b.png

通过反编译查看:

fbf7449941df3f083603f1f97f19a6c2.png

为我们创建了全参的构造方法

5.NoArgsConstructor注解

如果我们使用了AllArgsConstructor注解,又想拥有一个无参构造方法,那就使用NoArgsConstructor注解吧。

73bc8c59c997185dc327f7fcef3f9ff7.png

通过反编译查看

c15f462b901d340a51f6def4b1909fb9.png

6.EqualsAndHashCode注解

为我们实现了equals、canEqual、hashCode 方法。

7.Cleanup注解

清理注解,该注解放在需要关闭的变量前面,比如InpuStream等。默认调用close() 方法,如果需要调用其它的关闭方法,需要手动声明:@Cleanup(“methodName”) 。还有一点需要注意的是,如果close方法抛出受检异常,在编译阶段会报错:

75e3fd68281c21ec817743265d166998.png

我们可以手动把这个异常抛出

8f7a17f80b0c976d22870cb2b4ac4e25.png

通过反编译查看:

64448adc2d3e7774f8a787a41ea54514.png

这个注解我个人是不太喜欢用的,个人更推荐大家使用try-with-resources的方式来关闭资源吧。如下:

90f00e21eedb6938e2ededc42490a5ef.png

8.Builder注解

该注解是本人最喜欢的注解之一,采用Builder的模式构造实例,是我非常喜欢的实例化类的方法。

0fd6e6f1b1b3945062dfc5b14d99bbb3.png

通过反编译查看:

1d3230bbc992df624f739064228cc5ac.png

然后我们就可以愉快的通过Builder来构造实例啦

public static void main(String[] args) {

Happyjava happyjava = Happyjava.builder()

.username("happyjava")

.pwd("123456")

.build();

}

9.Slf4j注解

这个注解是我使用的最多的注解,使用该注解,就不需要再手动的获取Slf4j实例啦,直接log调用即可。

@Slf4j

public class Main {

public static void main(String[] args) {

log.info("happyjava 好好学习");

}

}

通过反编译查看:

Slf4j注解注解,基本上是我开发过程中每个类都会使用的(除了pojo类啦)

总结

以上这些是本人在开发中比较常用到的注解,当然,Lombok的注解可不止这些,只是其他的我不常用罢了。比如Synchronized注解也是不错的,但是我就不太喜欢用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值