IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-67988003
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

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

      • 发布时间:
        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; 
          } 
      }

      这种方式是被允许的。