IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌
  • 国家级
    全民数字素养与技能培训基地
  • 河南省
    第一批产教融合型企业建设培育单位
  • 郑州市
    数字技能人才(码农)培养评价联盟

模型类的编写有没有什么靠谱的优化方法?

  • 发布时间:
    2023-02-15
  • 版权所有:
    云和教育
  • 分享:

模型类的编写需要私有属性,setter…getter…方法、toString方法 和构造函数。虽然这些内容不难,同时也都是通过IDEA工具生成的,但是过程还是必须得走一遍,那么对于模型类的编写有没有什么优化方法?可以通过Lombok来实现优化。

Lombok,是一个Java类库,提供了一组注解,简化POJO实体类开发。下面看Lombok的使用步骤:

步骤1:添加lombok依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <!--<version>1.18.12</version>-->
</dependency>

注意:版本可以不用写,因为SpringBoot中已经管理了lombok的版本。

步骤2:安装Lombok的插件

新版本IDEA已经内置了该插件,如果删除setter和getter方法程序有报红,则需要安装插件。

1676442029959_图片1.png

如果在IDEA中找不到lombok插件,可以访问如下网站

https://plugins.jetbrains.com/plugin/6317lombok/versions

根据自己IDEA的版本下载对应的lombok插件,下载成功后,在IDEA中采用离线安装的方式进行安装。

1676442184185_图片2.png

步骤3:模型类上添加注解

Lombok常见的注解有:

@Setter:为模型类的属性提供setter方法

@Getter:为模型类的属性提供getter方法

@ToString:为模型类的属性提供toString方法

@EqualsAndHashCode:为模型类的属性提供equals和hashcode方法

@Data:是个组合注解,包含上面的注解的功能

@NoArgsConstructor:提供一个无参构造函数

@AllArgsConstructor:提供一个包含所有参数的构造函数

Lombok的注解还有很多,上面加粗的三个是比较常用的,其他的大家后期用到了,再去补充学习。

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private String password;
    private Integer age;
    private String tel;
}

说明:

Lombok只是简化模型类的编写,我们之前的方法也能用,比如有人会问:我如果只想要有name和password的构造函数,该如何编写?

@Data 
@AllArgsConstructor 
@NoArgsConstructor 
    public class User { 
    private Long id; 
    private String name; 
    private String password; 
    private Integer age; 
    private String tel; 
    
    public User(String name, String password) { 
        this.name = name; 
        this.password = password; 
    } 
}

这种方式是被允许的。