介绍
lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量。
一句话:不需要去编写get、set等方法
IntelliJ IDEA安装Lombok插件
要使用lombok需要在IDE中安装对应的lombok插件。安装插件过程如下:
1、打开IntelliJ IDEA后点击菜单栏中的File–>Settings进入到设置页面
2、点击设置页面中的Plugins进行插件的安装,在右侧选择Browse repositories…,然后在搜索页面输入lombok,可以查询到下方的Lombok Plugin,鼠标点击Lombok Plugin可在右侧看到Install按钮,点击该按钮便可安装
常用注解
注解 | 说明 |
---|---|
@Setter | 注解在类或属性,注解在类时为所有属性生成setter方法,注解在属性上时只为该属性生成setter方法 |
@Getter | 使用方法同@Setter,区别在于生成的是getter方法 |
@ToString | 注解在类,添加toString方法 |
@EqualsAndHashCode | 注解在类,生成hashCode和equals方法 |
@NoArgsConstructor | 注解在类,生成无参的构造方法 |
@RequiredArgsConstructor | 注解在类,为类中需要特殊处理的属性生成构造方法,比如final和被@NonNull注解的属性 |
@AllArgsConstructor | 注解在类,生成包含类中所有属性的构造方法 |
@Data | 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法 |
@Slf4j | 注解在类,生成log变量,用于记录日志 |
@Builder | 将类转变为建造者模式 |
使用方法
第一步:创建maven 项目引入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
第二步:创建User类并加入lombok提供的注解
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private int age;
}
第三步:编写测试类
public class TestLombok {
public static void main(String[] args) {
//无参构造方法
User user1 = new User();
/*
setter方法
*/
user1.setId(1);
user1.setName("xiaoming");
user1.setAge(18);
/*
getter方法
*/
int id = user1.getId();
String name = user1.getName();
int age = user1.getAge();
//带有所有参数的构造方法
User user2 = new User(2,"xiaoming",20);
//建造者模式
User user3 = User.builder().id(3).name("xiaohon").age(22).build();
/*
toString方法
*/
System.out.println(user1.toString());
System.out.println(user2.toString());
System.out.println(user3.toString());
}
}
利与弊
比较老项目不建议使用