优雅的编程--开发利器lombok

  lombok能以简单的注解形式来简化代码,提高开发人员的开发效率。例如,开发过程正宗经常需要写javabean,需要花时间去添加响应的getter/setter,也许还要写构造器、equals等方法,而且需要维护,当属性很多的时候会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

pom文件添加依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
</dependency>

常用的注解

注解说明
val,var神奇的类型推到,可以代表任意类型
@Getter and @Setter
@ToString
@EqualsAndHashCode
@NonNull
@AllArgsConstructor、@RequiredArgsConstructor、@NoArgsConstructor构造函数部分,针对不同情况的构造函数
@Data相当于 @Getter + @Setter + @ToString + @EqualsAndHashCode + RequiredArgsConstructor
@Value类变成只读模式
@Builderbuilder 模式,会创建内 Builder
@Singular要配合 builder 使用,会对(List、Set)等生成更方便函数
@Cleanup告别烦人的释放的资源
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j,@CommonsLog, @JBossLog, @Flogger不同框架的日志注解
@SneakyThrows偷偷摸摸地抛出异常
@Delegate带实验性质的,能非常方便实现代理模式
@Accessors带实验性质的存取器
@Wither带实验性质的,根据被修饰的成员变量创建类

val,var

可以表示任何类型!
var 可以用来表示变量,类似其他语言中的 let
val 可以用来表示常量(final),类似其他语言中的 const

var str = "hello world";
val list = Arrays.asList(1,2,3,4);
System.out.println(str);
for(val item : list){
    System.out.printf("%dt",item);
}

等价于

String str = "hello world";
final List<Integer> list = Arrays.asList(1,2,3,4);
System.out.println(str);
for(final Integer item : list){
    System.out.printf("%dt",item);
}

@Getter、@Setter

添加了注解后会根据字段生成对应的 get、set 函数,可以修饰成员变量或者类

@Getter
@Setter
public class User {
    private Long id;
    private String name;
    private Integer age;
}

通过下面的方式指定访问级别(PUBLIC、PROTECTED、PACKAGE、PRIVATE)

@Getter 
@Setter
public class User {   
    private Long id;
    
    private String name;
    
    @Setter(AccessLevel.PROTECTED)
    private Integer age;
}

@ToString

@ToString
public class User {
    private Long id;
    private String name;
    private Integer age;
}

@Data

@Data注解标注在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法

不使用@Data注解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值