lombok注解

简介: lombok注解

秣秩斯干,幽幽南山。如竹苞矣,如松茂矣。——《诗经》

首先是官方文档,列举了所有注解

常用的我就不聊了,这里上代码聊聊不咋常用的

首先是@Cleanup注解,能够自动关闭流

public static String readFile(File file) throws Exception {
    StringBuilder builder = new StringBuilder();
    @Cleanup InputStream is = new FileInputStream(file);
    String line;
    @Cleanup BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    line = reader.readLine();
    while (line != null) {
        builder.append(line);
        builder.append("\n");
        line = reader.readLine();
    }
    return builder.toString();
}

最后生成的代码:

然后是@NonNull注解,加到我们的参数上

就会自动生成如下代码:

如果@NonNull加在属性上,也会在之后生成的setter判空

接下来是@RequiredArgsConstructor注解,它可以生成一个静态构造函数,效果如下:

@Value注解和@RequiredArgsConstructor注解差不多

生成效果如下:

对于@Singular注解,它可以和@Builder建造者模式配合使用,针对List等集合类型的属性生成对应的操作函数

效果如下:

下面是@SneakyThrows,简单来讲就是再加一个try-catch,避免编译时异常导致编译失败

生成的代码:

以及@Synchronized注解


image-20211031160755210.pngimage-20211031160740481.png

以及var

生成:

然后是val

生成:

image-20211031161441024.png

@With注解的话放在属性上面:

image-20211031162122731.png

可以生成以下代码:

还有一个能获取到泛型内的类型,生成能直接调用该类型中对应方法的函数

生成下面这部分:

剩下的experimental包里的注解我们下次再叙吧

相关文章
|
1月前
|
Java
Java @Data 注解详细说明
Data注解是 Lombok 提供的一个组合注解,它会为类自动生成一些常见方法的样板代码,包括 getter、setter、equals、hashCode 和 toString 方法。
72 5
|
1天前
|
Java 编译器 Android开发
Java注解你知多少?
Java注解你知多少?
6 1
|
6天前
|
Java Spring
Java 效率编码 必备插件 Lombok 让代码更优雅
该内容是一个关于Lombok插件的教程摘要:介绍了Lombok用于减少Java开发中的模板代码,提升效率;讲解了如何在IntelliJ IDEA中安装Lombok插件,以及在pom.xml中添加依赖;并提到了@Data注解能自动生成getter/setter、equals、hashCode和toString方法,@Slf4j注解自动处理日志,@Builder用于构建对象,以及@AllArgsConstructor和@NoArgsConstructor注解生成构造函数。还鼓励探索更多Lombok的注解用法。
|
8天前
|
Java 编译器 Maven
一文解读|Java编译期注解处理器AbstractProcessor
本文围绕编译器注解都是如何运行的呢? 又是怎么自动生成代码的呢?做出了详细介绍。
|
11天前
|
存储 消息中间件 Java
Java多线程实战-异步操作日志记录解决方案(AOP+注解+多线程)
Java多线程实战-异步操作日志记录解决方案(AOP+注解+多线程)
|
12天前
|
Java 编译器 测试技术
[AIGC] Java注解的生效时机详解
[AIGC] Java注解的生效时机详解
|
13天前
|
Java 测试技术 编译器
JAVA注解
JAVA注解
14 0
|
14天前
|
安全 Java 编译器
Java基础教程(14)-Java中的枚举类,泛型和注解
【4月更文挑战第14天】枚举类型(enum)是固定常量集合,Java中用`enum`定义。特点包括:使用enum关键字,定义类型名和值,可独立或嵌入定义,可实现接口,定义变量和方法。枚举在switch语句中适用,每个枚举值在JVM中唯一,不能继承Enum类。
|
28天前
|
IDE Java 开发工具
Lombok 详解:简化 Java 开发的神奇工具
Lombok 是一款 Java 工具,通过注解自动处理如 getter/setter、toString、equals 和 hashCode 等常见代码,减少样板代码。安装 Lombok 需要在 IDE(如 IntelliJ IDEA)中添加插件,并在 Maven 或 Gradle 项目中配置依赖。常用注解包括 @Getter/@Setter 生成访问器,@ToString 生成对象描述,@EqualsAndHashCode 生成比较方法,@NoArgsConstructor/@AllArgsConstructor 生成构造器,@Data 综合应用这些注解。
113 9