lombok官网:https://projectlombok.org/
jar包下载路径:https://projectlombok.org/download
lombok features:https://projectlombok.org/features/all
lombok:通过注解方式减少POJO类的getter和setter等方法来消除冗余代码量
安装
1.下载 lombok.jar
2.官网说是可以双击安装,,,我用这种方法不可行
2.手动安装
(1)将lombok.jar移到eclipse的安装目录
(2)在eclipse.in文件最后加入下面两行
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
=============
-javaagent:xxx.jar 的jar名称 需要与根目录下的jar名一致,
不一致,可能会出现eclipse无法启动的情况。
(3)重启eclipse,进行代码测试
原始java代码:
public class NoteTest {
private int noteId;
private String title;
private String content;
private int typeId;
}
class文件反编译后:
public class NoteTest
{
private int noteId;
private String title;
private String content;
private int typeId;
public NoteTest()
{
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
加入lombok注解后的java代码:
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(exclude="typeId")
public class NoteTest {
private int noteId;
private String title;
private String content;
private int typeId;
}
加注解,经反编译:
public class NoteTest
{
private int noteId;
private String title;
private String content;
private int typeId;
public int getNoteId()
{
return noteId;
}
public String getTitle()
{
return title;
}
public String getContent()
{
return content;
}
public int getTypeId()
{
return typeId;
}
public void setNoteId(int noteId)
{
this.noteId = noteId;
}
public void setTitle(String title)
{
this.title = title;
}
public void setContent(String content)
{
this.content = content;
}
public void setTypeId(int typeId)
{
this.typeId = typeId;
}
public boolean equals(Object o)
{
if (o == this)
return true;
if (!(o instanceof NoteTest))
return false;
NoteTest other = (NoteTest)o;
if (!other.canEqual(this))
return false;
if (getNoteId() != other.getNoteId())
return false;
Object this$title = getTitle();
Object other$title = other.getTitle();
if (this$title != null ? !this$title.equals(other$title) : other$title != null)
return false;
Object this$content = getContent();
Object other$content = other.getContent();
if (this$content != null ? !this$content.equals(other$content) : other$content != null)
return false;
return getTypeId() == other.getTypeId();
}
protected boolean canEqual(Object other)
{
return other instanceof NoteTest;
}
public int hashCode()
{
int PRIME = 59;
int result = 1;
result = result * 59 + getNoteId();
Object $title = getTitle();
result = result * 59 + ($title != null ? $title.hashCode() : 43);
Object $content = getContent();
result = result * 59 + ($content != null ? $content.hashCode() : 43);
result = result * 59 + getTypeId();
return result;
}
public NoteTest()
{
}
public NoteTest(int noteId, String title, String content, int typeId)
{
this.noteId = noteId;
this.title = title;
this.content = content;
this.typeId = typeId;
}
public String toString()
{
return (new StringBuilder("NoteTest(noteId=")).append(getNoteId()).append(", title=").append(getTitle()).append(", content=").append(getContent()).append(")").toString();
}
}