## Intellij 配置getter 和setter模板
1.点击alt + insert 选择Getter
2.点击模板后面的..., 创建自己的模板
3.对于date类型特殊处理的getter模板
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}() {
#if($field.date)
return $field.name != null ? (Date)${field.name}.clone() : null;
#else
return $field.name;
#end
}
4.对于date类型特殊处理的setter模板
#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
#if ($field.date)
$field.name = ${paramName} == null ? null : (Date)${paramName}.clone();
#else
$field.name = $paramName;
#end
}
最后生成的getter, setter是这样的
public Date getEntryDatetime() {
return entryDatetime != null ? (Date ) entryDatetime.clone() : null;
}
public void setEntryDatetime(Date entryDatetime) {
this.entryDatetime = entryDatetime == null ? null : (Date) entryDatetime.clone();
}
这个脚本使用的是Velocity 。