使用Lombok
使用Lombok
lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码(比如setter代码和getter代码)的工具。
Lombok的使用
安装
- 下载Lombok的jar包
- java -jar 命令运行该jar包,这会启动一个图形化界面,Lombok的安装程序,它会寻找eclipse程序,找到后进行安装
- 安装完成,重启eclipse,clean所有项目
- 为项目添加jar包,也就是刚刚运行的jar包,这时候Lombok就可以使用了
demo
实体类User
package com.mxh.lombok.demo1;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class User {
private Long id;
private String name;
}
测试类UserTest
package com.mxh.lombok.demo1;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class UserTest {
@Test
public void test() {
User user = new User();
user.setId(new Long(10001));
user.setName("mxh");
assertEquals(10001, user.getId().longValue());
assertEquals("mxh", user.getName());
}
}
Lombok中的注解
注解名称 | 用途 |
---|---|
@Setter | 构建一个标准的setter方法,可以用于类,也可用于方法 |
@Getter | 构建一个标准的getter方法,可以用于类,也可用于方法。生成的getter正确遵循boolean属性的约定,从而产生 isFoo方法名称而不是getFoo 。getter和setter方法都可以加上访问限制,如AccessLevel.PROTECTED |
@NonNull | 如果该注解用在一个参数生,lombok将在方法/构造函数主体的开头插入一个空检查,抛出一个NullPointerException,并将该参数的名称作为异常的message。如果将这个注解用在一个字段上,那么任何给这个字段赋值的方法都会进行null检查。 |
@ToString | 为对象生成toString方法,默认将所有的字段包含在内。callSuper 参数是否调用父类方法,exclude参数去除不需要的字段。 |
@EqualsAndHashCode | 生成equals方法和hashCode方法。callSuper 参数是否调用父类方法,exclude参数去除不需要的字段。 |
@Data | 有@Setter、@Getter、@ToString和@EqualsAndHashCode的功能,还会添加一个公共的构造方法。staticConstructor 参数可将构造方法置为private,并提供一个获取对象的静态方法。 |
@Cleanup | 该注释可以用来保证分配的资源被释放。生成try、finally代码,在finally块中释放资源。 |
@Synchronized | 同步方法,生成一个私有锁。 |
@SneakyThrows | 为需要处理的异常增加了try、catch语句 |
@Value | 这个注解用在 类 上,会生成含所有参数的构造方法,get 方法,此外还提供了equals、hashCode、toString 方法,注意没有set |
@AllArgsConstructor | 该注解使用在类上,该注解提供一个全参数的构造方法,默认不提供无参构造 |
@NoArgsConstructor | 该注解使用在类上,该注解提供一个无参构造 |
@RequiredArgsConstructor | 该注解使用在类上,使用类中所有带有 @NonNull 注解的或者带有 final 修饰的成员变量生成对应的构造方法。 |
@Builder | 使用私有构造函数生成一个名为TBuilder的内部类,创建一个构造器。 |
@Delegate | 该注解已被遗弃 |
@Generated | Lombok最终会自动将这个注释添加到所有生成的构造函数、方法、字段和类型中。用户无需使用这个注解 |
@Singular | 与@Builder一起使用单一注释在构建器中为集合创建单个元素“add”方法。 |
@Var | 将字段变为var类型,并推断它的类型。变量,可读可写 |
@Val | 将字段变为var类型,并推断它的类型。final类型,常量 |
还有一些Log注解 | 使lombok生成一个日志字段 |
lombok.experimental包中的注解 | 一些实验性的注解,不稳定,可能会有错误,以后可能会删除,不建议使用 |
还没有评论,来说两句吧...