@Data 注解引出的 lombok 小辣椒

今天在看代码的时候, 看到了这个注解, 以前都没有见过, 因此就查了下, 发现仍是个不错的注解, 能够让代码更加简洁.eclipse

这个注解来自于 lombok,lombok 可以减小大量的模板代码,减小了在使用@Data 注解时, 须要导入lombok.Data,下面列举下 lombok提供的注解:函数

val : 和 scala 中 val 同名, 能够在运行时肯定类型; ui

@NonNull : 注解在参数上, 若是该类参数为 null , 就会报出异常,  throw new NullPointException(参数名)spa

@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法插件

@Getter/@Setter : 注解在类上, 为类提供读写属性scala

@Getter(lazy=true) :日志

@ToString : 注解在类上, 为类提供 toString() 方法code

@EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法对象

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数blog

@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法

@Value :

@Builder : 注解在类上, 为类提供一个内部的 Builder

@SneakThrows :

@Synchronized : 注解在方法上, 为方法提供同步锁

@Log :

@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象

@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象



@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);

上面一些注解是由包含关系的, 看须要什么方法就增长什么注解,@Log4j 和 @Slf4j 注解做用不小, 用在各层均可以,方便打 log。

也能够查看官网 [ 官网 ] 

 

简易例子:[ 只是用了@Data注解 ]

public @Data class Student {
     
     private String stuId;
     private String stuName;
     private String stuNum;
     private String stuSex;
 }

虽说,eclipse 的快捷键生成这些代码会很快,可是知道总比不知道的好,万一别人用了,你看不懂别人的代码呢?那就不面子丢大了,还只是个实体类而已。

我以为最重要的是,代码行数少了不少,简洁的代码谁不喜欢呢?

还有一点, 使用这个 lombok 须要安装 lombok 插件。

相关文章
相关标签/搜索