zoukankan      html  css  js  c++  java
  • 使用Lombok总结

    Lombok学习总结

    Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
    

    Lombok介绍:

    官网:https://projectlombok.org/

    通过简单的注解来精简代码达到消除冗长代码的目的

    Lombok优点:提高编码效率,使代码更简洁,消除冗长代码,避免修改字段名字时忘记修改方法名

    注意:idea上必须要支持Lombok,否则报错

    Lombok引入:

    maven引入:

    <dependency>
           <groupId>org.projectlombok</groupId>
           <artifactId>lombok</artifactId>
           <version>1.16.20</version>
    </dependency>

    idea插件:

    在实体类可以用idea快捷键 Ctrl+F12 查看方法

    Lombok相关注解:

    这里只说明下常用的,官方说明都有(https://projectlombok.org/features/all)

    @Data 
    注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
    使用 @Data 注解就可以有这几个注解的功能:@ToString 、@Getter 、@Setter 、@EqualsAndHashCode 、@NoArgsConstructor
    @Setter
    注解在属性上;为属性提供 setting 方法
    @Getter
    注解在属性上;为属性提供 getting 方法
    @Log4j
    @Slf4j
    注解在类上;为类提供一个 属性名为log 的 log4j 日志对象 具体看项目中用到的日志框架
    
    @NoArgsConstructor 
    注解在类上;为类提供一个无参的构造方法
    @AllArgsConstructor
    注解在类上;为类提供一个全参的构造方法,同时如果变量使用了NotNull annotation , 会进行是否为空的校验, 
    全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。
    @Cleanup
    自动化关闭流,相当于 jdk1.7 中的 try with resource
    @Builder
    被注解的类加个构造者模式
    @Synchronized
    加个同步锁 方法中所有的代码都加入到一个代码块中,默认静态方法使用的是全局锁,普通方法使用的是对象锁,当然也可以指定锁的对象。

    @SneakyThrows
    等同于try/catch 捕获异常 当我们需要抛出异常,在当前方法上调用,不用显示的在方法名后面写 throw
    @NonNull
    如果给参数加个这个注解 参数为null会抛出空指针异常
    @Value
    注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
    @toString
    注解在类上;为类提供toString方法(可以添加排除和依赖)

    @RequiredArgsConstructor
    会生成一个包含常量(final),和标识了@NotNull的变量 的构造方法。

    @Accessors
    翻译是存取器。通过该注解可以控制getter和setter方法的形式。
    fluent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象
    chain 若为true,则setter方法返回当前对象
    prefix 若为true,则getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)
  • 相关阅读:
    C++入门经典-例4.9-输出不同生命周期的变量值
    C++入门经典-例4.8-同名的全局变量和局部变量
    C++入门经典-例4.7-变量的作用域
    C++入门经典-例4.6-使用重载函数
    C++入门经典-例4.5-利用循环求n的阶乘
    C++入门经典-例4.4-循环嵌套之求n的阶乘
    C++入门经典-例4.3-函数的递归调用之汉诺塔问题
    C++入门经典-例4.2-调用默认参数的函数
    C++入门经典-例4.1-声明、定义和使用函数
    C++入门经典-例3.25-使用循环输出闰年
  • 原文地址:https://www.cnblogs.com/mengw/p/11272710.html
Copyright © 2011-2022 走看看