1. 自定义 Getter 模板
场景:
默认的 Getter 方法实现在自定义 POJO 时可能会需要设置 Getter 和 Setter 方法,在 使用 Model 的
get
方法获取对象属性时,为了防止空指针,经常需要手动去判断是否为 null。
比如上图,使用
getTodoList()
获取到 todoList
属性,为了避免空指针,就首先要判断不为 null
。属性多的话,难免会遗漏,并且会使代码增多,不美观…
需求:
希望可以在 generate getter 方法时就自动进行判断处理,在使用的时候不必额外的判断 notnull。
如下图:
自定义模板
方法 & 步骤:
自定义 generate getter 的模板。
-
利用快捷键 Alt + Insert 或 Code 菜单 → Generate 呼出 Generate 对话框。
Generate Dialog -
选择上图的 Getter 或 Getter and Setter,选择 右边的 ··· 按钮
Getter
Getter And Setter -
点击 + 新增模板,然后把代码 copy 过去就好了。
NotNull Getter -
重新 进行 步骤2 ,然后选择自己刚定义的模板进行生成就好了
Done
getter 模板代码:
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
#end
#else
get##
#end
${name}() {
#if ($field.string)
return $field.name == null ? "" : $field.name;
#else
#if ($field.list)
if ($field.name == null) {
return new ArrayList<>();
}
return $field.name;
#else
return $field.name;
#end
#end
}
2. 自定义 文件头 File Header
File → Settings → Editor → File And Code Templates → Include → File Header
/**
* <pre>
* @author HJY
* @date :${YEAR}/${MONTH}/${DAY}/${HOUR}:${MINUTE}
* desc : 文件描述
* version: 当前版本号
* </pre>
*/
3. 自定义 Java 变量前缀 和 后缀
File → Settings → Editor → Code Style → Java → Code Generation
image.png
网友评论