Lombok插件的安装

Lombok是一个可以通过简单的注解简化消除臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法,从而达到美化代码、提高编码效率、代码更简洁、消除冗长代码的作用。

Lombok官坊网址:https://projectlombok.org/

Lombok下载网址:https://projectlombok.org/download

Lombok项目网址:https://github.com/rzwitserloot/lombok

Lombok优点:美化代码、提高编码效率、使代码更简洁、消除冗长代码

lombok常用的注解:

@Data 注解在类上使用,可以省略所有的get set equal toString等方法. 
@Getter 注解在属性上使用,可以省略所有get方法.
@Setter 注解在属性上使用,可以省略所有的set方法.
@NoArgsConstructor 注解在类上使用,可以提供无参构造.
@AllArgsConstructor 注解在类上使用,可以提供全参构造.

lombok插件的安装:

lombok插件安装非常简单,Eclipse、IDEA都支持lombok插件,在IDEA下 File—setting—plugin 搜索lombok插件,点击安装即可。

Eclipse下安装需要:

1.现下载好的lombok插件放置到Eclipse安装目录下,关闭Eclipse编辑器,然后执行命令:

2.安装完成以后,在Ecliipse安装路径下的ecliipse.ini中会有lombok插件的按照路径,在重新打开Ecliipse编辑器。

3.在项目中引入lombok插件

打开pom.xml文件,增加lombok插件

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.20</version>
  <scope>provided</scope>
</dependency>

 4.Lombok的使用

1).@Data注解在类使用

@Data注解在类上,会自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法,代码如下:

package main.blog.entity;

import java.util.Date;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;

import org.springframework.format.annotation.DateTimeFormat;

import lombok.Data;

@Data
public class Article
{
    private int age = 10;
  
  @Setter(AccessLevel.PROTECTED) //设置访问权限Protected
    private String name;
    
    public String toString() 
    {
    return String.format("%s (age: %d)", name, age);
  }
}

2).@Getter/@Setter在类属性上使用
使用@Data简单粗暴,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法,代码如下:

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

public class Article 
{
  @Getter 
    @Setter 
    private int age = 10;
  
    @Getter 
  @Setter(AccessLevel.PROTECTED) //设置访问权限Protected
    private String name;
    
  @Override 
    public String toString() 
    {
    return String.format("%s (age: %d)", name, age);
  }
}

3).Lombok注解更多使用方法
@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setting 方法
@Setter :注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

官方文档: https://projectlombok.org/features/all

原文地址:https://www.cnblogs.com/huxiaoguang/p/10805612.html