当前位置: 首页 > news >正文

北京电商网站开发公司哪家好今日头条新闻

北京电商网站开发公司哪家好,今日头条新闻,江西网站做的好的企业,武汉互联网公司招聘要求一.介绍 Project Lombok 是一个 Java 库,它会自动插入编辑器和构建工具,为您的 Java 增添趣味。永远不要再写另一个 getter 或 equals 方法,使用一个注释,您的类有一个功能齐全的构建器,自动化您的日志记录变量等等。…

一.介绍

Project Lombok 是一个 Java 库,它会自动插入编辑器和构建工具,为您的 Java 增添趣味。永远不要再写另一个 getter 或 equals 方法,使用一个注释,您的类有一个功能齐全的构建器,自动化您的日志记录变量等等。

二.添加Lombok依赖

1.pom文件中添加

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>
 

2.创建项目中勾选Lombok选项,pom文件中自动生成

三.优缺点

优点: 通过注解的形式自动生成构造器,简化代码,例如在做属性修改的时候不用做

            过多的处理

缺点:不支持多种参数构造器的重载

四.常用注解

@Data 

使用该注解可以自动生成Getter、Setter、equals、hashCode和toString方法,相当于同时使用了

这些方法

@Getter

自动生成Java Bean类的Getters方法(访问实体类的属性)

@Setter

自动生成Java Bean类的Setter方法(访问实体类的属性)

@ToString

可以自动生成ToString方法(将一个对象的属性转换成一个字符串,方便输出调试信息。)

@EqualsAndHashCode

@EqualsAndHashCode注解可以自动生成equals和hashCode方法(可以用来比较两个对象是否相等。)

综上@Data包含如上述注解,如果其他注解默认使用的话,就可以直接使用@Data

对于@EqualsAndHashCode注解有两种写法

@EqualsAndHashCode(callSuper = false)和@EqualsAndHashCode(callSuper = ture)

前者默认就是不管父类继承的属性的,后者是用自己的属性和从父类继承的属性 来生成hashcode

使用@Data注解

package com.haxlab.server.entity;import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table("t_student")
public class Student {@Id(keyType = KeyType.Auto)private long id;private String name;private String gender;private int score;private String grade;
}

通过这个注解,不用在写Getter和Setter方法,就能访问实体类里的属性

也不用在写equals、hashCode和toString方法

不使用Data注解

package com.haxlab.server.entity;import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table("t_student")
public class Student {@Id(keyType = KeyType.Auto)private long id;private String name;private String gender;private int score;private int grade;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public int getGrade() {return grade;}public void setGrade(int grade) {this.grade = grade;}public boolean equals(Object object) {if (this == object) return true;if (!(object instanceof Student)) return false;if (!super.equals(object)) return false;Student student = (Student) object;return getId() == student.getId() && getScore() == student.getScore() && getGrade() == student.getGrade() && java.util.Objects.equals(getName(), student.getName()) && java.util.Objects.equals(getGender(), student.getGender());}public int hashCode() {return java.util.Objects.hash(super.hashCode(), getId(), getName(), getGender(), getScore(), getGrade());}@java.lang.Overridepublic java.lang.String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", gender='" + gender + '\'' +", score=" + score +", grade=" + grade +'}';}
}

如果要修改实体类某个属性的时候,不使用@Data注解,修改过程会相对很麻烦

@AllArgsConstructor和@NoArgsConstructor

 @AllArgsConstructor生成全参构造法

@NoArgsConstructor生成无参数构造法

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private int id;private String name;private int age;
}

等价于

 

@Data
public class User {private int id;private String name;private int age;public User() {}public User(int id, String name, int age) {this.id = id;this.name = name;this.age = age;}
}



 


 

http://www.tj-hxxt.cn/news/12308.html

相关文章:

  • 有什么网站可以做设计兼职的图片搜索识图入口
  • 万象城网站建设深圳推广公司排行榜
  • 网络代理工具appseo干什么
  • 小程序网站建设的公司百度指数搜索指数的数据来源
  • 可以做结构式的网站seo知识点
  • 网站弹出客服微博营销策略
  • 做网站别名解析的目的是什么北京搜索引擎优化seo专员
  • 做服装批发的网站哪个比较好地推接单平台app排行榜
  • 重庆网站建设公司下载2023年12月疫情又开始了吗
  • 专门做实习计算机项目的网站平台在线刷高质量外链
  • 网站建设 用户管理百度站长管理平台
  • win7上能否做asp网站广告公司收费价格表
  • 有哪些可以做宣传旅游的网站北京seo顾问服务
  • 电子商务网站平台建设方案百度网页搜索
  • 做医疗设备的网站南宁seo网络优化公司
  • 备案 网站备注百度竞价排名平台
  • 贵州建网站的公司镇海seo关键词优化费用
  • 精美的网站搜索引擎优化的概念是什么
  • 如何知道网站的字体微信群推广平台有哪些
  • 完善企业网站建设百度网站官网入口网址
  • web网站开发文献综述百度推广客户端登录
  • 网站开发前端和后端用什么语言今日的最新新闻
  • 在招聘网站里做电话销售seo优化一般多少钱
  • 电商网站平台建设视频b站推广网站2024
  • 什么网站做风险投资百度广告怎么做
  • 网站开发学哪种语言做外贸网站哪家公司好
  • php做网站还是linux百度登陆页面
  • wordpress页面添加标签宁波seo推荐
  • 武汉有个人做网站的自己怎么做网页推广
  • phpcms手机网站模板关键词排名推广方法