LomBok插件的安装以及LomBok的使用

LomBok插件的安装以及LomBok的使用

       Lombok是一个第三库,可以基于lombok中提供的API在程序编译时自动织入一些属性或相关方法,例如省略pojo类中set/get/toString等方法的编写,我们写的java程序可以在编译时,自动将这些方法添加到.class文件中,其应用步骤如下:
第一步:添加依赖

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

第二步:在pom中添加依赖,并保存后,在Maven Dependencies中找到lombok-xxx.jar的具体位置
在这里插入图片描述
第三步:打开操作系统命令行客户端,并切换到第二步中找到的lombok-xxx.jar文件所在的目录,利用java -jar指令启动lombok插件

LomBok插件的安装以及LomBok的使用_第1张图片回车执行上面的命令,之后会弹出选择安装对话框

LomBok插件的安装以及LomBok的使用_第2张图片
点击Specify location 选择SpringToolSuite4.exe,进行安装

在这里插入图片描述

安装好之后,lombok.jar会默认创建在sts软件的根目录

LomBok插件的安装以及LomBok的使用_第3张图片
安装成功后重启sts工具即可
假如安装成功以后再次启动sts,此时无法启动,可能与STS所在目录有关系,可以将安装目录下的lombok.jar文件拷出到特定目录,然后修改SpringToolSuite4.ini文件的最后一行的lombok.jar路径即可,同时在配置文件中也不能有空格
LomBok插件的安装以及LomBok的使用_第4张图片

lombok 常用注解分析:

== Lombok主要常用的注解==有:@Data,@getter,@setter,@NoArgsConstructor,@AllArgsConstructor,@ToString,@EqualsAndHashCode,@Slf4j,@Log4j。我们一个一个来看:

@Data注解:在JavaBean或类JavaBean中使用,这个注解包含范围最广,它包含getter、setter、NoArgsConstructor注解,即当使用当前注解时,会自动生成包含的所有方法;

@getter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的getter方法;

@setter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的setter方法;

@NoArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的无参构造方法;

@AllArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的有参构造方法;

@ToString注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的toStirng方法;

@EqualsAndHashCode注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的equals方法和hashCode方法;

@Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;

@Log4j:在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;

在使用以上注解需要处理参数时,处理方法如下(以@ToString注解为例,其他注解同@ToString注解):

@ToString(exclude=“column”)

意义:排除column列所对应的元素,即在生成toString方法时不包含column参数;

@ToString(exclude={“column1”,“column2”})

意义:排除多个column列所对应的元素,其中间用英文状态下的逗号进行分割,即在生成toString方法时不包含多个column参数;

@ToString(of=“column”)

意义:只生成包含column列所对应的元素的参数的toString方法,即在生成toString方法时只包含column参数;;

@ToString(of={“column1”,“column2”})
意义:只生成包含多个column列所对应的元素的参数的toString方法,其中间用英文状态下的逗号进行分割,即在生成toString方法时只包含多个column参数;

@Accessors(chain=true)
链式加载

示例:

package com.jt.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data   //set/get/toString/equal等操作
@Accessors(chain=true)  //开启链接式加载规则
@NoArgsConstructor      //无参构造
@AllArgsConstructor     //添加参数构造时,最好添加无参构造
public class User {
     

	private Integer id;
	private String name;
	private Integer age;
	private String sex;
	
//	//get/set方法
//	public Integer getId() {
     
//		return id;
//	}
//	public void setId(Integer id) {
     
//		this.id = id;
//	}
//	public String getName() {
     
//		return name;
//	}
//	public void setName(String name) {
     
//		this.name = name;
//	}
//	public Integer getAge() {
     
//		return age;
//	}
//	public void setAge(Integer age) {
     
//		this.age = age;
//	}
//	public String getSex() {
     
//		return sex;
//	}
//	public void setSex(String sex) {
     
//		this.sex = sex;
//	}
//	
//	//无参构造
//	public User() {}
//	//有参构造
//	public User(Integer id, String name, Integer age, String sex) {
     
//		super();
//		this.id = id;
//		this.name = name;
//		this.age = age;
//		this.sex = sex;
//	}
//	//toString
//	@Override
//	public String toString() {
     
//		return "User [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
//	}
//	
//	

}
	

有关LomBok的面试题

     问题:如果将项目发布到服务器中(Linux系统),是否需要在Linux中安装lombok工具插件呢?

     答案: 不需要.

     因为STS加载LOMBOK的插件,在程序将.java文件编译.class文件时会动态的生成get/set等方法.并且保存到.class文件中.

     而Linux系统中运行的是项目的jar包文件(将.class文件打包).所有程序无需安装LomBok.

你可能感兴趣的:(LomBok插件的安装以及LomBok的使用)