Lombok 学习笔记

Java 冗长的代码是可能是Java语言自身最大的不足了,而Lombok正是为了弥补这一不足而流行的工具,Lombok可以通过简单的注解形式来帮助我们最大程度的简化我们的Java代码,它可以根据不同的注解,在编译源码的时候生成对应的代码。
官网网址 github地址

1.lombok 注解:

lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
Lombok 注解在线帮助文档:http://projectlombok.org/features/index.
下面列举几个常用的 lombok 注解:

  • @Data :注解在类上;提供getting 和 setting、equals、canEqual、hashCode、toString 方法
  • @Setter:注解在属性上;为属性提供 setting 方法
  • @Getter:注解在属性上;为属性提供 getting 方法
  • @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
  • @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
  • @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
  • @Cleanup: 自动帮我们调用close()方法。
    比如:
  @Cleanup InputStream in = new FileInputStream(args[0]);
  @Cleanup OutputStream out = new FileOutputStream(args[1]);

2.安装

这里我讲下IDEA安装lombok插件:

Ctrl+shift+S 进入设置页面

点击plugin -> Browse repositories 搜索框中输入 lombok


安装完成后重启即可

3. 使用

引入依赖:

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

新建User类:

package com.hp.up.lombok;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j;

/**
 * Created by youBatis on 2017/12/20 14:09
 */
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class User {

/**
 * id
 */
private Long id;

/**
 * 用户名
 */
private String name;

/**
 * 性别 1:男 2:女 99:未知
 */
private Integer sex;

/**
 * 密码
 */
private String password;

/**
 * 盐
 */
private String salt;

/**
 * 头像
 */
private String avatar;

/**
 * 邮箱
 */
private String email;

}

完成之后我们可以看到User类的结构,其中已经有Lombok帮我们生成的代码了:


测试类:

public class TestLombok {
public static void main(String[] args) {
    User user = new User();
    user.setId(123L);
    user.setName("youBatis");
    System.out.println(user.toString());
}
}

控制台输出 :

User(id=123, name=youBatis, sex=null, password=null, salt=null, avatar=null)            

如图:


更多用法参考 官网资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容