前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用lombok.jar可以在Java代码中可以省略setter、getter方法了

使用lombok.jar可以在Java代码中可以省略setter、getter方法了

作者头像
青山师
发布2023-05-04 19:57:05
1.2K0
发布2023-05-04 19:57:05
举报

lombok简介

java开发者无可避免的非技术非业务代码

  作为java开发者,实体对象的Getter、Setter方法是无可避免的。假如你的实体对象包含几十甚至上百个(蛋碎…)成员变量,你的代码将会是一片Getter、Setter方法,代码量剧增。现在,有一种方案(或者说小插件)可以让你的实体类只包含成员变量,Getter、Setter方法都可以避免,会开心吗?(哈哈)

java开发者的福音

 请容许我在小标题捧了捧lombok: 一个帮助java开发者减少代码量的小工具(公举?)。 你只需要在实体类定义成员变量,之后的Getter、Setter方法就交给lombok吧。

lombok优雅大观

使用lombok前后java实体类的对比

AppDto是最初我们最常见的java实体类,请“观赏”代码:

代码语言:javascript
复制
package org.byron4j.lombok;

import java.io.Serializable;

/**
 * @author Byron.Y.Y 2016年7月7日
 * <p>原始java测试实体类</p>	
 */
public class AppDto implements Serializable, Cloneable {

	private static final long serialVersionUID = -866465084448270352L;
	private String requestNo;
	private String orgId;
	private String address;
	private String userType;
	private String userId;
	private String userLoginName;
	private String userName;
	private String idCardNo;
	private String bankCardNo;
	private String phoneNo;
	private String bankName;
	private String bankCardType;
	
	public String getRequestNo() {
		return requestNo;
	}
	public void setRequestNo(String requestNo) {
		this.requestNo = requestNo;
	}
	public String getOrgId() {
		return orgId;
	}
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getUserType() {
		return userType;
	}
	public void setUserType(String userType) {
		this.userType = userType;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserLoginName() {
		return userLoginName;
	}
	public void setUserLoginName(String userLoginName) {
		this.userLoginName = userLoginName;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getIdCardNo() {
		return idCardNo;
	}
	public void setIdCardNo(String idCardNo) {
		this.idCardNo = idCardNo;
	}
	public String getBankCardNo() {
		return bankCardNo;
	}
	public void setBankCardNo(String bankCardNo) {
		this.bankCardNo = bankCardNo;
	}
	public String getPhoneNo() {
		return phoneNo;
	}
	public void setPhoneNo(String phoneNo) {
		this.phoneNo = phoneNo;
	}
	public String getBankName() {
		return bankName;
	}
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	public String getBankCardType() {
		return bankCardType;
	}
	public void setBankCardType(String bankCardType) {
		this.bankCardType = bankCardType;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}

AppLombokDto 是使用lombok之后的代码,请观赏代码:

代码语言:javascript
复制
package org.byron4j.lombok;

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;

/**
 * @author Byron.Y.Y 2016年7月7日
 * <p>使用lombok时java测试实体类</p>	
 */

@Setter
@Getter
public class AppLombokDto implements Serializable, Cloneable {

	private static final long serialVersionUID = 9088167527617462824L;
	private String requestNo;
	private String orgId;
	private String address;
	private String userType;
	private String userId;
	private String userLoginName;
	private String userName;
	private String idCardNo;
	private String bankCardNo;
	private String phoneNo;
	private String bankName;
	private String bankCardType;
	
}
lombok使用入门

1. 直接添加jar包到lib中  在java中项目中使用lombok,可以直接下载lombok.jar包引入到lib中; 2. 使用maven引入 引入依赖:

代码语言:javascript
复制
 <!-- 增加lombok依赖,用于生成Getter、Setter -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.12.6</version>
		</dependency>

引入插件(或者在IDEA中安装lombok插件):

代码语言:javascript
复制
 <!-- lombok插件 -->
			<plugin>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok-maven-plugin</artifactId>
				<version>1.12.6.0</version>
			</plugin>

3. java代码中使用lombok  使用lombok其实是使用其中的注解,常用注解有@Getter、@Setter、@Data、@ToString、@EqualsAndHashCode这几个。下面解释这几个注解的含义:

代码语言:javascript
复制
@Getter: 生成get方法,是类、成员变量注解。
@Setter: 生成set方法,是类、成员变量注解。
@Data: 生成get、set方法、空构造器、toString方法、equals方法、hashCode方法,是类注解。AppLombokDto 类的注解换成@Data试试。
@ToString: 生成toString方法,是类注解。
@EqualsAndHashCode:生成equals方法、hashCode方法,是类注解。

 以下是Getter、Setter针对成员变量的使用方法:

代码语言:javascript
复制
package org.byron4j.quartz.enums;



import lombok.Getter;
import lombok.Setter;

/**
 *  自定义枚举示例
 *  @company 
 *	@author oyy
 *  2016年6月22日
 */
public enum DefinitionEnum {
	SUCCESS_TYPE("SUCCESS","成功"),
	FAIL_TYPE("FAIL","失败");
	
	private @Getter @Setter String value;
	private @Getter @Setter String remark;
	
	private DefinitionEnum(String value, String remark) {
		this.value = value;
		this.remark = remark;
	}
	
	public static void main(String[] args) {
		System.out.println(DefinitionEnum.SUCCESS_TYPE.value + ":" + DefinitionEnum.SUCCESS_TYPE.remark);
	}
	
}

 更多lombok的注解,请参考projectlombok,但是无需使用。最有效的最常用的其实就是@Getter、@Setter、@Data注解。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • lombok简介
    • java开发者无可避免的非技术非业务代码
      • java开发者的福音
      • lombok优雅大观
        • 使用lombok前后java实体类的对比
          • lombok使用入门
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档