美文网首页SpringBoot云课堂
lombok介绍及使用方法

lombok介绍及使用方法

作者: seymour1996 | 来源:发表于2018-01-13 15:31 被阅读20次

    前言

    阅读开源项目的时候发现作者用了@data注解,在没有安装lombok之前ide提示找不到对应的get、set方法,查阅资料后发现作者是使用了lombok插件。

    介绍

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
    lombok 的官方网址:http://projectlombok.org/


    lombok的安装

    在IDEA下 file->settings-Plugins搜索lombok安装插件


    安装lombok插件

    并在项目中添加lombok依赖

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

    lombok的注解:

    lombok 注解在线帮助文档:http://projectlombok.org/features/index.
    下面介绍几个常用的 lombok 注解:
    @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,
    此外还提供了equals、canEqual、hashCode、toString 方法
    @Setter:注解在属性上;为属性提供 setting 方法
    @Getter:注解在属性上;为属性提供 getting 方法
    @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
    @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
    @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法


    下面是一个例子:

    使用lombok之前:

    public class User {
        private String id;
        private int age;
        private String name;
    
        public String getId() {
            return id;
        }
        
         public void setId(String id){
            this.id=id;
         }
    
        public int getAge() {
            return age;
        }
        
         public void setAge(int age){
            this.age=age;
        }
        
        public String getName() {
            return name;
        }
     
        public void setName(String name){
            this.name=name;
        } 
        public User(String id,int age,String name){
            this.id=id;
            this.age=age;
            this.name=name;
        }
    }
      
    

    使用lombok之后:

    @data
    @AllArgsConstructor
    public class User {
        private String id;
        private int age;
        private String name;
    }
    

    相关文章

      网友评论

        本文标题:lombok介绍及使用方法

        本文链接:https://www.haomeiwen.com/subject/qtvcoxtx.html