@Setter
@Getter
@Data
@Log(这是一个泛型注解,具体有很多种形式)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@NonNull
@Cleanup
@ToString
@RequiredArgsConstructor
@Value
@SneakyThrows
@Synchronized
- @Data 这个注解是自动添加各属性的get,set方法
- @AllArgsConstructor 这个注解是自动添加类的构造函数
- @NonNull
该注解使用在属性上,该注解用于属的非空检查,当放在setter方法的字段上,将生成一个空检查,如果为空,则抛出NullPointerException。该注解会默认是生成一个无参构造。 - @SneakyThrows
这个注解用在方法上,可以将方法中的代码用 try-catch
语句包裹起来,捕获异常并在 catch 中用
Lombok.sneakyThrow(e) 把异常抛出 - @Synchronized
该注解使用在类或者实例方法上,Synchronized在一个方法上,使用关键字可能会导致结果和想要的结果不同,因为多线程情况下会出现异常情况。Synchronized
关键字将在this示例方法情况下锁定当前对象,或者class讲台方法的对象上多锁定。这可能会导致死锁现象。一般情况下建议锁定一个专门用于此目的的独立锁,而不是允许公共对象进行锁定。该注解也是为了达到该目的。
网友评论