zoukankan      html  css  js  c++  java
  • Mac Eclipse安装lombok

      Lombok是一个可以通过注解的形式可以帮助消除一些必须但是显得很臃肿的Java代码的工具,通过使用对应的注解,可以在进行编译源码的时候生成对应的方法,比如类属性的get/set/toString()/类的构造方法等.

      

    下面记录一下在Mac Eclipse是如何安装Lombok

      1、下载相应的Jar包lombok.jar,下载地址:https://projectlombok.org/download

      2、将Lombok集成到Eclipse

        (1)Lombok复制到Eclipse.app/Contents/Eclipse目录下;

          

        (2)将如下内容添加到eclipse.ini尾部

    -javaagent:../Eclipse/lombok.jar
    -vmargs -javaagent:lombok.jar
    

      3、重启Eclipse即可。

    下面记录一下常用的注解  

      1、在Maven项目中引入Lombok的Jar

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.20</version>
        <scope>provided</scope>
    </dependency>

      2、使用注解

    @Data
    public class User {
        
        private int id;
        
        private String userName;
        
        private Date birthday;
    }

      
        @Setter 和 @Getter

        注解在属性上(当然也可以使用在类上面)为属性提供 setting 方法,默认生成的方法是public的,如果要修改可以设置AccessLever。如下    

    public class User {
        
        @Getter(AccessLevel.PRIVATE) @Setter private int id;
        
        @Getter @Setter private String userName;
        
        @Getter @Setter private Date birthday;
    
    }

        @ToString

        注解在类上,生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude="id"),如果有多个可是是@ToString(exclude={"id","name"}),如果有继承父类的化,可以让其调用父类的toString(),如@ToString(calllSuper = true)     

    @ToString(exclude = "id")
    public class User {
        
        @Getter(AccessLevel.PRIVATE) @Setter private int id;
        
        @Getter @Setter private String userName;
        
        @Getter @Setter private Date birthday;
    }  

      @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

      @NoArgsConstructor生成一个无参构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
      @RequiredArgsConstructor会生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段
      @RequiredArgsConstructor(staticName = "of")会生成一个of()的静态方法,并把构造方法设置为私有的
        @AllArgsConstructor 生成一个全参数的构造方法
      
      @Data
      同时生成@Getter @Setter @ToString @RequiredArgsConstructor等功能。
     
      @Synchronized
      给方法添加同步锁Synchronized
     
      更多参看官方文档 https://projectlombok.org/features/all


  • 相关阅读:
    django权限管理(Permission)
    记一次sentry部署过程
    Virtualbox+Vagrant环境准备
    jquery操作select(取值,设置选中)
    mysql 5.7主从安装和配置
    vue环境安装
    python 打印堆栈信息方法
    python3模块: os
    mysql查询语句(mysql学习笔记七)
    mysql存储引擎(mysql学习六)
  • 原文地址:https://www.cnblogs.com/parryyang/p/8400636.html
Copyright © 2011-2022 走看看