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

lombok简介

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

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

java开发者的福音

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

lombok优雅大观

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

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

package org.byron4j.lombok;

import java.io.Serializable;

/**
 * @author Byron.Y.Y 2016年7月7日
 * 

原始java测试实体类

*/
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之后的代码,请观赏代码:

package org.byron4j.lombok;

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;

/**
 * @author Byron.Y.Y 2016年7月7日
 * 

使用lombok时java测试实体类

*/
@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引入
引入依赖:

 
		<dependency>
			<groupId>org.projectlombokgroupId>
			<artifactId>lombokartifactId>
			<version>1.12.6version>
		dependency>

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

 
			<plugin>
				<groupId>org.projectlombokgroupId>
				<artifactId>lombok-maven-pluginartifactId>
				<version>1.12.6.0version>
			plugin>

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

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

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

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注解。

你可能感兴趣的:(使用lombok.jar可以在Java代码中可以省略setter、getter方法了)