• lombok java中的使用


    lombok java中的使用

    lombok可以通过注解来帮助我们简化和消除一些重复的代码,比如get set方法,toString方法等;

    以idea为例,打开IDEA,选择 file -> settings -> plugins;
    搜索框中输入Lombok plugin,点击install;重启IDEA,安装完成。

    maven项目中 在pom文件中引入依赖

    1. <dependency>
    2. <groupId>org.projectlombok</groupId>
    3. <artifactId>lombok</artifactId>
    4. <optional>true</optional>
    5. </dependency>

    @Data,简化实体类get set方法、toString方法

    @Slf4j,日志

     用了这个注解 省去了在类里加如下代码

     

    @Accessors(chain = true) set方法返回值 this

    使调用的返回方法是链式调用,如下 返回的都是User类型 如果不加此注解,.set返回的都是void类型,不能链式调用

    @Builder,建造者模式床架你对象,设计模式之一,一般用于创建复杂对象,spring、mybatis框架源码中所有以XXXXBuilder的命名格式的都是使用的建造者模式 

    通过builder创建对象

    @AllArgsConstructor 添加全参构造函数

    @NoArgsConstructor 添加无参构造函数

    ** @NonNull**
    给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE(NullPointerException)。

    ** @Getter/@Setter**
    使用在成员变量或者类上,为特定成员变量/类中所有变量生成Getter/Setter方法。

    @ToString
    用在类上,可以自动覆写toString方法,当然还可以加其他参数,例如@ToString(exclude=”id”)排除id属性,或者@ToString(callSuper=true, includeFieldNames=true)调用父类的toString方法,包含所有属性。

    @EqualsAndHashCode
    自动生成hashCode() 和 equals()方法。

    @Value
    用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法,具体示例可以参考@Data部分

    @Log
    lombok可以快速生成多种常用日志实例,包括Commonslog、log、log4j、slf4j等等,具体的使用可以依照需求灵活选择。

    ** @Cleanup**
    这个注解用在变量前面,可以保证此变量代表的资源会被自动关闭,默认是调用资源的close()方法,如果该资源有其它关闭方法,可使用@Cleanup(“methodName”)来指定要调用的方法.
    示例:
    @Cleanup不仅减少了代码编写,同时也避免了可能的泄露问题,CleanUpDemo的lombok改造效果如下。

    本文部分参考:

    (44条消息) Lombok详解_初学者乐园的博客-CSDN博客_lombok

    https://blog.csdn.net/weixin_46140377/article/details/122706804
  • 相关阅读:
    CustomDrawableTextView
    Snippet: align a TextView around an image
    How to import library ?
    Gradle自定义你的BuildConfig
    使用adb shell dumpsys检测Android的Activity任务栈
    Activity intent经常使用的 FLAG
    使用 ContentProviderOperation 来提升性能
    幻方算法
    自己制作的粉碎机批处理程序
    Ubuntu 16.10 server 相关
  • 原文地址:https://www.cnblogs.com/sunny3158/p/16629622.html
Copyright © 2020-2023  润新知