Lombok插件应用
Lombok是一个第三库,可以基于lombok中提供的API,在程序编译时自动织入一些方法。这样做的话可以简化我们对某些方法的编写,例如,省略pojo类中的set方法,get方法,toString等方法的编写。我们写的java程序可以在编译时,通过lombok自动将这些方法添加到.class文件中,其应用步骤如下:
第一步:添加依赖。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
第二步:找到下载的lombok-xxx.jar依赖所在的位置。
第三步:启动操作系统命令行客户端,并切换到lombok-xxx.jar文件所在的目录,然后,利用java –jar 指令启动lombok插件,如图-15所示:
图-15
回车执行如上命令,会弹出选择安装对话框,如图-16所示:
图-16
然后在弹出的框中选择sts安装目录进行安装,
安装成功以后会出现如下弹出框,如图-17所示:
图-17
安装成功以后可在STS工具的根目录看到一个lombok.jar文件,同时会在SpringToolSuite4.ini文件的尾部添加lombok.jar文件所在的具体路径,例如
-javaagent:E:\software\sts-4.5.3.RELEASE\lombok.jar。
其中lombok.jar会默认创建在sts软件的根目录,如图-18所示:
图-18
说明:安装成功以后重启sts工具.(假如安装成功以后再次启动sts,此时无法启动,可能与STS所在目录有关系,可以将安装目录下的lombok.jar文件拷出到特定目录,然后修改SpringToolSuite4.ini文件的最后一行的lombok.jar路径即可,同时在配置文件中也不能有空格)。
Lombok 常用注解分析:
@Setter 用于为描述的类生成setter方法,不包含final修饰属性。
@Getter 用于为描述的类生成getter方法。
@ToString 用于为描述的类添加toString方法。
@EqualsAndHashCode 用于为描述的类,生成hashCode和equals方法。
@NoArgsConstructor 用于为描述的类生成无参的构造方法。
@AllArgsConstructor 用于为描述的类生成包含类中所有字段的构造方法。
@Data用于为描述的类生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4J 用于为描述的类添加一个日志属性对象
private static final Logger log =LoggerFactory.getLogger(Xxx.class);
代码案例分析:
package com.cy.pj.activity.pojo;
@Data
public class Activity {//.class
private Long id;
private String title;
private String category;
@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
private LocalDateTime startTime;
@DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
private LocalDateTime endTime;
private Short state=1;//1 有效状态
private String remark;
private String createdUser;
private LocalDateTime createdTime;
}
测试代码
package com.cy.pj.pojo;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@SpringBootTest
public class ActivityTests {
@Test
public void testAty01() {
Activity aty=new Activity();
aty.setId(10L);
aty.setTitle("A-Title");
aty.setCategory("A-Type");
System.out.println(aty.getId());
System.out.println(aty.getTitle());
System.out.println(aty.getCategory());
log.info(aty.toString());
}
}
原文:https://www.cnblogs.com/syrgdm/p/13509926.html