Lombok小试牛刀

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:https://github.com/rzwitserloot/lombok。

安装LomBok需要条件:

1.编译工具安装Lombok

* 插件安装

2.项目中maven依赖

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

*版本查看可在maven中央仓库中查找。


详解:

1.@Getter/@Setter注解

通过lombok自动生成get/set方法

扫描二维码关注公众号,回复: 1306193 查看本文章
package com.lgy;

import lombok.*;

/**
 * Created by fengch on 2017/12/26.
 */
//@ToString(exclude = {"name"})
//@RequiredArgsConstructor
public class ModelTest {
    @Getter
    @Setter
    //@NonNull
    private String id;
    @Getter @Setter private String name;
}

自动生成get/set方法,权限范围默认是public。


2.@ToString注解

package com.lgy;

import lombok.*;

/**
 * Created by fengch on 2017/12/26.
 */
@ToString(exclude = {"name"})
//@RequiredArgsConstructor
public class ModelTest {
    @Getter
    @Setter
    //@NonNull
    private String id;
    @Getter @Setter private String name;
}

自动生成toString方法,exclude去掉不需要打印的属性值


3.@RequiredArgsConstructor @NonNull注解

package com.lgy;

import lombok.*;

/**
 * Created by fengch on 2017/12/26.
 */
@ToString(exclude = {"name"})
@RequiredArgsConstructor
public class ModelTest {
    @Getter
    @Setter
    @NonNull
    private String id;
    @Getter @Setter private String name;
}

自动生成构造函数,2个注解相结合。


常用的注解如下:

@NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常,  throw new NullPointException(参数名)

@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法

@Getter/@Setter : 注解在类上, 为类提供读写属性

@Getter(lazy=true) :

@ToString : 注解在类上, 为类提供 toString() 方法

@EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数

@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法

@Value :

@Builder : 注解在类上, 为类提供一个内部的 Builder

@SneakThrows :

@Synchronized : 注解在方法上, 为方法提供同步锁

@Log :

@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象

@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象


参考官网地址:https://projectlombok.org/features/all

猜你喜欢

转载自blog.csdn.net/fengchao2016/article/details/78904499