文章目录
准备
Lombok Maven依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
getter/setter问题
Idea getter/setter默认模板生成
public class User {
private String name;
private String Age;
private String SEx;
private Object J;
private Integer k;
private String hIght;
private Boolean Wait;
private boolean wHat;
private String getWhy;
private boolean isKey;
private boolean iswhich;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return Age;
}
public void setAge(String age) {
Age = age;
}
public String getSEx() {
return SEx;
}
public void setSEx(String SEx) {
this.SEx = SEx;
}
public Object getJ() {
return J;
}
public void setJ(Object j) {
J = j;
}
public Integer getK() {
return k;
}
public void setK(Integer k) {
this.k = k;
}
public String gethIght() {
return hIght;
}
public void sethIght(String hIght) {
this.hIght = hIght;
}
public Boolean getWait() {
return Wait;
}
public void setWait(Boolean wait) {
Wait = wait;
}
public boolean iswHat() {
return wHat;
}
public void setwHat(boolean wHat) {
this.wHat = wHat;
}
public String getGetWhy() {
return getWhy;
}
public void setGetWhy(String getWhy) {
this.getWhy = getWhy;
}
public boolean isKey() {
return isKey;
}
public void setKey(boolean key) {
isKey = key;
}
public boolean isIswhich() {
return iswhich;
}
public void setIswhich(boolean iswhich) {
this.iswhich = iswhich;
}
}
可以看到,Idea默认生成getter/setter模板规则为:
- 满足待生成变量前两个字母至少有一个大写,优先将第一个字母大写;
- 对于基本数据类型boolean,其getter方法,前缀非
get
,而是is
;其他类型,getter方法直接加前缀get
; - 对于基本数据类型boolean,若以
is
开头的驼峰形式时,生成的getter方法不会再添加is
; - setter方法直接加前缀
set
;
private boolean isKey;
private boolean iswhich;
public boolean isKey() {
return isKey;
}
public void setKey(boolean key) {
isKey = key;
}
public boolean isIswhich() {
return iswhich;
}
public void setIswhich(boolean iswhich) {
this.iswhich = iswhich;
}
tips
Idea getter/setter生成模板可配置:
Mybatis中getter/setter解析方式
Mybatis(3.5.3版本)中解析getter/setter方法获取属性名字的源码
org.apache.ibatis.reflection.property.PropertyNamer
public final class PropertyNamer {
private PropertyNamer() {
}
public static String methodToProperty(String name) {
if (name.startsWith("is")) {
name = name.substring(2)