今天在看代码的时候, 看到了这个注解, 以前都没有见过, 因此就查了下, 发现仍是个不错的注解, 能够让代码更加简洁.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 插件。