lombok插件的应用

lombok应用

lombok是啥

Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。

为啥要引入lombok

仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。

使用lombok的注解实现类的简化

分析:
使用Spring Boot整合SSM工程;需要使用到数据库数据
1)将数据库表导入到数据库中

CREATE TABLE user (
id int NOT NULL AUTO_INCREMENT COMMENT '用户id',
username varchar(500) COLLATE utf8_bin NOT NULL COMMENT '用户名称',
password varchar(500) COLLATE utf8_bin NOT NULL COMMENT '用户密码',
name varchar(500) COLLATE utf8_bin NOT NULL COMMENT '名称',
age int NOT NULL COMMENT '年龄',
sex char(10) COLLATE utf8_bin NOT NULL COMMENT '性别',
create_time datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '创建时间',
modify_time datetime(6) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(6) COMMENT '修改时间',
is_delete int NOT NULL COMMENT '是否删除 1-删除 0-未删',
permission varchar(10) COLLATE utf8_bin NOT NULL COMMENT '权限',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2)编写数据库表对应的实体类,一般情况下 需要编写 get/set/toString方法会耗时并且会使得实体类臃肿,可以使用lombok插件进行简化

lombok是一个插件工具包,提供了一些注解@Data、 @Getter等这些注解去简化实体类中的构造方法、get/set等方法的编写。

可以在Bean上使用:例如;在javabean, 上加@Data,那么就可以省去getter和setter等方法的编写,lombok插件会自动生成。

@Setter :注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。

@Getter :使用方法同上,区别在于生成的是getter方法。

@ToString :注解在类,添加toString方法。

@EqualsAndHashCode:注解在类,生成hashCode和equals方法。

@NoArgsConstructor:注解在类,生成无参的构造方法。

@RequiredArgsConstructor:注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。

@AllArgsConstructor:注解在类,生成包含类中所有字段的构造方法。

@Data:注解在类,生成setter/getter、equals、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

@Slf4j:注解在类,生成log变量,严格意义来说是常量。自动在bean中提供log变量,其实用的是sIf4j的日志功能

步骤:

1.在IDEA中安装lombok插件;

2.添加lombok对应的依赖到项目的pom.xml文件;

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

3.改造实体类使用lombok注解

@Data
public class User {
    private int id;
    private String username;
    private String password;
    private String name;
    private int age;
    private Date createTime;
    private Date modifyTime;
    private int isDelete;
    private String permission;
}

posted @ 2021-08-19 01:24  只要不兔的学习笔记  阅读(224)  评论(0)    收藏  举报