• 简化开发:Lombok的使用


    Java中优雅的使用Lombok


    1、简介

      Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它通过注释实现这一目的。一个标准的Java bean 一般具有若干属性,每个属性具有getter()和setter()方法,Lombok中也用到了注解,但是它并没有用到反射,而是通过一些奇技淫巧,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。

      代码越少,意味着出bug的可能性越低。

    官网地址:https://projectlombok.org/ 首页有一段几分钟的演示视频,看完就明白是怎么回事了。

    2、添加maven依赖

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

    3、Lombok注解

    • @Data:注解在类上,将类提供的所有属性都添加get、set方法,并添加、equals、canEquals、hashCode、toString方法
    • @Setter:注解在类上,为所有属性添加set方法、注解在属性上为该属性提供set方法
    • @Getter:注解在类上,为所有的属性添加get方法、注解在属性上为该属性提供get方法
    • @NotNull:在参数中使用时,如果调用时传了null值,就会抛出空指针异常
    • @Synchronized 用于方法,可以锁定指定的对象,如果不指定,则默认创建一个对象锁定
    • @Log作用于类,创建一个log属性
    • @Builder:使用builder模式创建对象
    • @NoArgsConstructor:创建一个无参构造函数
    • @AllArgsConstructor:创建一个全参构造函数
    • @ToStirng:创建一个toString方法
    • @Accessors(chain = true)使用链式设置属性,set方法返回的是this对象。
    • @RequiredArgsConstructor:创建对象
    • @UtilityClass:工具类
    • @ExtensionMethod:设置父类
    • @FieldDefaults:设置属性的使用范围,如private、public等,也可以设置属性是否被final修饰。
    • @Cleanup: 关闭流、连接点。
    • @EqualsAndHashCode:重写equals和hashcode方法。
    • @toString:创建toString方法。

    大概减少了2/3的代码,各种注解的详细用法,请参考:https://projectlombok.org/features/index.html

    4、一些使用的例子

     1 public class User {
     2         private String id;
     3         private String name;
     4         private Integer age;
     5     
     6         public String getId() {
     7             return id;
     8         }
     9     
    10         public void setId(String id) {
    11             this.id = id;
    12         }
    13     
    14         public String getName() {
    15             return name;
    16         }
    17     
    18         public void setName(String name) {
    19             this.name = name;
    20         }
    21     
    22         public Integer getAge() {
    23             return age;
    24         }
    25     
    26         public void setAge(Integer age) {
    27             this.age = age;
    28         }
    29     }
    普通的bean
    1 @Setter
    2 @Getter
    3 public class User {
    4     private String id;
    5     private String name;
    6     private Integer age;
    7 }
    使用Lombok时的bean
    1 public static void main(String[] args) {
    2     User user = new User();
    3     user.setId("1");
    4     user.setName("name");
    5     user.setAge(1);
    6 }
    main()方法中使用

    5、插件的安装

    因为不安装插件,可能调用方法时会报错。

    windows下eclipse安装lombok插件:
    1.下载lombok.jar包https://projectlombok.org/download.html
    2.运行Lombok.jar: Java -jar D:softwarelombok.jar 
        其中D:softwarelombok.jar这是windows下lombok.jar所在的位置
        数秒后将弹出一框,点击确认;
        然后,点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可;
    3.确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
    4.安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
    配置文件eclipse.ini中是否 添加了如下内容: 
        -javaagent:D:softwareITeclipselombok.jar
    如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可 
    5.重启eclipse或myeclipse
    windows下idea安装lombok插件:
    1、File-->Settings...-->Plugins
    2、Browse repositories...
    3、在弹出的对话框中,直接搜索lombok,然后update/install
    linux或ubuntu环境下安装lombok插件:
    基本步骤和上面一样,区别在第二步
    2.执行命令 java -jar /software/eclipse/lombok.jar 
        其中/software/eclipse/lombok.jar是我的lombok.jar所在的目;
        我的eclipse是安装在/software/eclipse/目录下。
    执行完成之后,查看eclipse.ini文件查看:
        -javaagent:/software/eclipse/lombok.jar

    参考文章:
    4、插件安装:https://blog.csdn.net/dorothy1224/article/details/79280591/
            https://www.cnblogs.com/justuntil/p/7120534.html 
  • 相关阅读:
    尝试了一下Flex
    Flash版的拉格朗日插值程序
    关于CSS属性display:none和visible:hidden的区别
    KMaster知识管理平台功能简介
    企业级知识库系统KMaster推荐
    ie6下的location.href错误
    利用Jquery实现http长连接(LongPoll)
    jQuery高亮插件
    当前知识管理系统的焦点问题以及我的一些解决办法
    知识库如何跟其他业务系统结合
  • 原文地址:https://www.cnblogs.com/mmzs/p/8875503.html
Copyright © 2020-2023  润新知