码迷,mamicode.com
首页 > 其他好文 > 详细

lombok插件

时间:2017-11-30 15:17:20      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:level   prot   integer   artifact   depend   nal   打印   param   clu   

IDE:

IntelliJ IDEA 

首先在设置的插件栏中安装lombok,然后使用如下的pom依赖:

<dependency>
   <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

注解介绍:

  • @toString

 

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

 

import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {
     private Integer id;
     private String name;
     private String phone;
}
//生成toString方法如下:
public String toString(){
     return "User(phone=" + phone + ")";
}
  • @Getter and @Setter
你可以用@Getter / @Setter注释任何字段,让lombok自动生成默认的getter / setter方法。
默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
public class User {
     @Getter(AccessLevel.PROTECTED) @Setter private Integer id;
     @Getter @Setter private String name;
     @Getter @Setter private String phone;
}
  • @EqualsAndHashCode
生成hashCode()和equals()方法,
默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。
  • @RequiredArgsConstructor
@RequiredArgsConstructor会生成构造方法(可能带参数也可能不带参数),
如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段
@RequiredArgsConstructor(staticName = "of")会生成一个of()的静态方法,并把构造方法设置为私有的
  • @Data
@Data 包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能

以后有更多的使用到的会再做补充

 

lombok插件

标签:level   prot   integer   artifact   depend   nal   打印   param   clu   

原文地址:http://www.cnblogs.com/lilinzhiyu/p/7928665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!