还记得刚学Java的时候 写实体类,自己写get,set 构造函数,和toString方法等等,时不时报个错,写的那是非常的痛苦啊,到了后面用idea了 那些实体类的基本方法都可以自动生成了那是非常的爽啊!
但是后面代码多了,看着实体类里面几百几千行代码,又是非常的不舒服啊,这可读性就没这么高了。
但是咱们的lombok可以帮咱们解决这一问题,只需要加上几个注解,咱们就不用去生成什么get,set,构造函数之类的了,它自己会根据一定的规范在编译好的代码中帮咱们生成好,但是在开发的代码的实体类咱们是看不到那些get和set的 所以就大大增加了咱们代码的一个可读性,也让咱们的代码更加的简约优雅。
over,怎么用呢,其实人家用起来也是特别的简单啊,只需要引入它的依赖就可以使用它的注解啦。
依赖:
<!--lombox-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
然后下面是它常用的注解:
@Data,就是帮咱们做好了所有的get和set方法
@ToString,相当于帮咱们做完了重写toString的方法
@NoArgsConstructor,相当于咱们实体类有了无参构造方法
@AllArgsConstructor,相当于咱们实体类有了所有参数的构造方法
如果只要get方法不需要set方法,咱们可以使用@Data注解,咱们可以单独的使用 @Getter注解,相反如果咱们只想要set的话,也可以单独的使用@Setter注解
一般一个用于映射数据库的字段实体类会这样搭配:
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Set;
/**
* @author shenwang
* @version 1.0
* @date 2021/8/23 14:15
*/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
/**
* 编号 主键 唯一标识
*/
private Integer id;
/**
* 用户名
*/
private String userName;
/**
* 密码
*/
private String password;
/**
* 对应的角色集合
*/
private Set<Role> roleSet;
}
当然大家也可以根据自己的需要去自己搭配Lombok的注解,这样看上去咱们的实体类是不是更简洁了呢,实例化出来还可以用人家的get,set方法,无参,全参构造函数和重写的toString方法窝~