lombok get/set 与 JavaBean get/set
javaBean get/set 命名规范
一般JavaBean属性对应的 get/set 方法,是get/set 加上属性名首字母大写。
private String courseId;
public String getCourseId() {
return courseId;
}
public void setCourseId(String courseId) {
this.courseId = courseId;
}
但是仍有例外
1.属性名第一个字母小写,第二个字母大写。
private String cId;
public String getcId() {
return cId;
}
public void setcId(String cId) {
this.cId = cId;
}
2.属性名第一个字母为大写。
private String Url;
public String getUrl() {
return Url;
}
public void setUrl(String url) {
Url = url;
}
3.属性名以is 开头,并且属性类型为boolean
private boolean isOk;
public boolean isOk() {
return isOk;
}
public void setOk(boolean ok) {
isOk = ok;
}
lombok 与 javaBean 命名规范 特殊情况对比
// lombok 自动生产 get/set
@Getter
@Setter
public class Demo1 {
private String cId;
private String URL;
private boolean isSuccess;
}
// JavaBean get/set
public class Demo2 {
private String cId;
private String URL;
private boolean isSuccess;
public String getcId() {
return cId;
}
public void setcId(String cId) {
this.cId = cId;
}
public String getURL() {
return URL;
}
public void setURL(String URL) {
this.URL = URL;
}
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
}
// lombok
Demo1 demo1 = new Demo1();
//JavaBean
Demo2 demo2 = new Demo2();
// 属性名第一个字母小写,第二个字母大写
// JavaBean get/set 后部分, 属性名大小写不变
// lombok get/set 后部分,属性名首字母大写
demo1.setCId("");
demo2.setcId("");
demo1.getCId();
demo2.getcId();
demo1.setURL("");
demo2.setURL("");
demo1.getURL();
demo2.getURL();
demo1.setSuccess(true);
demo2.setSuccess(true);
demo1.isSuccess();
demo2.isSuccess();
总结
总结发现三种特殊情况下,如果使用 lombok 自动生成 get/set 时,第一种情况会导致生成get/set 不符合 JavaBean get/set 规范。此时会导致 json序列化,反射等情况,获取数据失败的情况发生。
使用 lombok 减少代码冗余的时候,请注意代码的规范。