• idea插件


    依赖

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.8</version>
      <scope>provided</scope>
    </dependency>
    

    常用注解

    默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)。

    • @Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

    • @Setter:注解在属性上;为属性提供 setting 方法

    • @Getter :注解在属性上;为属性提供 getting 方法

    • @ToString:注解在类上;生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"})。

    • @EqualsAndHashCode:注解在类上;生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。

    • @Slf4j:注解在类上;根据用户实际使用的日志框架生成log日志对象。

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

    • @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法

    • @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法

    • @RequiredArgsConstructor:注解在类上;会生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段

    • @RequiredArgsConstructor(staticName = "of") : 会生成一个of()的静态方法,并把构造方法设置为私有的。

    • @Cleanup: 可以关闭流

    • @Builder : 被注解的类加个构造者模式

    • @Synchronized: 加个同步锁

    • @SneakyThrows : 等同于try/catch 捕获异常

    • @NonNull: 如果给参数加个这个注解 参数为null会抛出空指针异常

    • @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

    • @SneakyThrows: 这个注解用在方法上,可以将方法中的代码用try-catch语句包裹起来,捕获异常并在catch中用Lombok.sneakyThrow(e)把异常抛出,可以使用@SneakyThrows(Exception.class)的形式指定抛出哪种异常

    • @Synchronized : 这个注解用在类方法或者实例方法上,效果和synchronized关键字相同,区别在于锁对象不同,对于类方法和实例方法,synchronized关键字的锁对象分别是类的class对象和this对象,而@Synchronized得锁对象分别是私有静态final对象LOCK和私有final对象lock,当然,也可以自己指定锁对象

    具体使用方法参考这里

    让火焰净化一切
  • 相关阅读:
    求解大于或等于某个4字节正整数的最小2次幂
    C++17 std::optional
    C++主动调用析构函数
    std::raise()
    C++ std::integral_constant
    C++ range-v3库的安装与测试[Utunbu 18.04]
    python将YUV420P文件转PNG图片格式
    python将两张图片横向或者纵向合成一张
    folly库之Benchmark.h
    Facebook的folly库在Utunbu上的编译
  • 原文地址:https://www.cnblogs.com/icefoxhz/p/13683707.html
Copyright © 2020-2023  润新知