什么是lombox
在开发的过程中,我们需要使用创建许多的实体类,在创建实体类的需要给实体类的属性书写相应的get以及set方法,以及实体类的有参数以及无参数的构造方法。这在一定程度上都会增加我们的工作量。随之技术的发展,lombox应运而生。
通过注解的方式即可生成实体类相应的getset方法,使代码更加优化。
lombox的安装
注意:使用lombox需要在电脑中安装lombox
eclipse使用
第一步,下载lombox的jar包(我使用的版本是1.16.12)
下载地址:https://projectlombok.org/
第二步,安装
使用cmd命令,
首先,进入jar包所在的路径
然后,输入 :java -jar lombok-1.16.12.jar
安装lombok jar包到所需要的eclipse中
然后看看eclipse安装路径下是否有 lombork.jar
第三步,查看eclipse.ini 文件
查看eclipse.ini 里最后两行是否是
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
如果没有或者缺少 可以手动添加
即可使用
需要在maven项目中使用lombox,导入lombox的依赖即可使用
<!-- lombox -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
myeclipse使用
不需要更改myeclipse配置文件
电脑中对lombox进行安装过即可使用
需要使用lombox的maven项目中,导入lombox的依赖即可使用
lombox常用注解以及功能
注解 | 功能 |
---|---|
@Setter | 生成setter方法,final变量不包含 |
@Getter | 生成getter方法,final变量不包含 |
@NoArgsConstructor | 生成空参构造 |
@AllArgsConstructor | 生成全部参数构造 |
@RequiredArgsConstructor | 将标记为@NoNull的属性生成一个构造器 |
@ToString | 生成所有属性的toString()方法 |
@EqualsAndHashCode | 生成equals()方法和hashCode方法 |
@Data(常用) | @Data直接修饰POJO or beans, getter所有的变量,setter所有不为final的变量。如果你不需要默认的生成方式,直接填写你需要的annotation的就可以了。默认生成的所有的annotation都是public的,如果需要不同权限修饰符可以使用AccessLevel.NONE选项。当然@Data 也可以使用staticConstructor选项生成一个静态方法。即=@Setter+@Getter+@EqualsAndHashCode+@NoArgsConstructor |
lombox使用实例
import lombok.Data;
@Data
public class Account {
private Integer user_id;
private String username;
private String password;
}
在class文件中的效果
public class Account
{
private Integer user_id;
private String username;
private String password;
public String toString()
{
return "Account(user_id=" + getUser_id() + ", username=" + getUsername() + ", password=" + getPassword() + ")";
}
public int hashCode()
{
int PRIME = 59;int result = 1;Object $user_id = getUser_id();result = result * 59 + ($user_id == null ? 43 : $user_id.hashCode());Object $username = getUsername();result = result * 59 + ($username == null ? 43 : $username.hashCode());Object $password = getPassword();result = result * 59 + ($password == null ? 43 : $password.hashCode());return result;
}
protected boolean canEqual(Object other)
{
return other instanceof Account;
}
public boolean equals(Object o)
{
if (o == this) {
return true;
}
if (!(o instanceof Account)) {
return false;
}
Account other = (Account)o;
if (!other.canEqual(this)) {
return false;
}
Object this$user_id = getUser_id();Object other$user_id = other.getUser_id();
if (this$user_id == null ? other$user_id != null : !this$user_id.equals(other$user_id)) {
return false;
}
Object this$username = getUsername();Object other$username = other.getUsername();
if (this$username == null ? other$username != null : !this$username.equals(other$username)) {
return false;
}
Object this$password = getPassword();Object other$password = other.getPassword();return this$password == null ? other$password == null : this$password.equals(other$password);
}
public void setPassword(String password)
{
this.password = password;
}
public void setUsername(String username)
{
this.username = username;
}
public void setUser_id(Integer user_id)
{
this.user_id = user_id;
}
public String getPassword()
{
return this.password;
}
public String getUsername()
{
return this.username;
}
public Integer getUser_id()
{
return this.user_id;
}
}