###1.lombok 

  

package tacos.pojo;

import lombok.Data;
import lombok.RequiredArgsConstructor;

@Data
@RequiredArgsConstructor
public class Ingredient {
    
    private final String id;
    
    @SuppressWarnings("unused")
    private final String name;
    
    private final Type type;
    
    public static enum Type{
        WARP,PROTEIN,VEGGIES,CHEESE,SAUCE
    }
    
}

Ingredient  pojo类:这是一个简单的pojo类,3个参数。两个String,一个枚举。用到了两个注解。@Data  @RequiredArgsConstructor,这是lombok提供的注解,我们引入依赖。

  1.1引入依赖:

    方法1:选中pom文件,右键---sping----Edit starters-弹出下图

  

     找到lomboc项,添加

    方法2:直接赋值依赖到pom文件

    

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

   1.2 在这个pojo类中,我们没有定义settergetter、equals、hashcode、tostring、构造方法。为什么?

  因为两个注解:

    @Data:

      它会为我们自动生成 setter、getter、equals、hashcode、tostring、不带参数的构造方法

    @RequiredArgsConstructor:

      它会为我们生成以final属性为参数的构造函数

  lombok其它注解说明 

    @NonNull : 让你不在担忧并且爱上NullPointerException

 

    @CleanUp : 自动资源管理:不用再在finally中添加资源的close方法

 

    @Setter/@Getter : 自动生成set和get方法

 

    @ToString : 自动生成toString方法

 

    @EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现

 

    @NoArgsConstructor:自动生成无参构造方法

    @RequiredArgsConstructor:为final参数生成有参构造

    @AllArgsConstructor:为所有参数生成有参构造

 

    @Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法

 

    @Value : 用于注解final类

 

    @Builder : 产生复杂的构建器api类

 

    @SneakyThrows : 异常处理(谨慎使用)

 

    @Synchronized : 同步方法安全的转化

 

    @Getter(lazy=true) :

 

    @Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j

 

  再看下面截图

    

 

     明明加了这两个注解,可是还是报final没有初始化的错,因为还需要在开发工具上安装Lombok插件

 1.3安装Lombok插件

第一步:先在官网https://projectlombok.org/download 下载Lombok.jar文件

 

第二步:将lombok文件放到eclipse安装目录

 

 

第三步:双击lombok.jar

 

第四步:会跳转出如下窗口

 

第五步:首先选Specify location按钮,选择eclipe安装目录,然后点击Install/update

 

第六步:安装成功后,退出,会在eclipse的配置文件eclipse.ini中出现 -javaagent:D:\ide\eclipse\lombok.jar

 

 

最后一步:重启eclipse,这样Lombok插件就安装好了,若已存在仙姑,rebuild项目。项目不再报错