AS - 自定義模板

1. 自定義 Getter 模板

場景:

在自定義 POJO 時可能會需要設(shè)置 Getter 和 Setter 方法,在 使用 Model 的 get 方法獲取對象屬性時,為了防止空指針,經(jīng)常需要手動去判斷是否為 null。

默認的 Getter 方法實現(xiàn)

比如上圖,使用 getTodoList() 獲取到 todoList 屬性,為了避免空指針,就首先要判斷不為 null。屬性多的話,難免會遺漏,并且會使代碼增多,不美觀…

需求:

希望可以在 generate getter 方法時就自動進行判斷處理,在使用的時候不必額外的判斷 notnull。

如下圖:


自定義模板

方法 & 步驟:

自定義 generate getter 的模板。

  1. 利用快捷鍵 Alt + Insert 或 Code 菜單 → Generate 呼出 Generate 對話框。


    Generate Dialog
  2. 選擇上圖的 Getter 或 Getter and Setter,選擇 右邊的 ··· 按鈕


    Getter

    Getter And Setter
  3. 點擊 + 新增模板,然后把代碼 copy 過去就好了。


    NotNull Getter
  4. 重新 進行 步驟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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容