Lombok是一个第三库,可以基于lombok中提供的API在程序编译时自动织入一些属性或相关方法,例如省略pojo类中set/get/toString等方法的编写,我们写的java程序可以在编译时,自动将这些方法添加到.class文件中,其应用步骤如下:
第一步:添加依赖。
第二步:根据pom.xml文件中的配置,找到lombok文件夹下的lombok-xxx.jar文件的具体位置。
第三步:启动操作系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后,利用java –jar 指令启动lombok插件,
如图-13所示:
图-13
回车执行如上命令,会弹出选择安装对话框,如图-14所示:
图-14
然后在弹出的框中选择sts启动执行文件(SpringToolSuite4.exe)进行安装,
安装成功以后会出现如下弹出框,如图-15所示:
图-15
安装成功以后可在STS工具的根目录看到一个lombok.jar文件,同时会在SpringToolSuite4.ini文件的尾部添加lombok.jar文件所在的具体路径,例如
-javaagent:D:\software\sts-4.2.2.RELEASE\lombok.jar。
其中lombok.jar会默认创建在sts软件的根目录,如图-16所示:
图-16
说明:安装成功以后重启sts 工具.(假如安装成功以后再次启动sts,此时无法启动,可能与STS所在目录有关系,可以将安装目录下的lombok.jar文件拷出到特定目录,然后修改SpringToolSuite4.ini文件的最后一行的lombok.jar路径即可)。
Lombok 常用注解分析:
@Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
@Getter 使用方法同上,区别在于生成的是getter方法。
@ToString 注解在类,添加toString方法。
@EqualsAndHashCode 注解在类,生成hashCode和equals方法。
@NoArgsConstructor 注解在类,生成无参的构造方法。
@RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4j 注解在类,生成log变量,严格意义来说是常量。private static final Logger log = LoggerFactory.getLogger(UserController.class);
代码案例分析:
测试类: