美文网首页
AS - 自定义模板

AS - 自定义模板

作者: Jiun俊 | 来源:发表于2018-08-29 10:09 被阅读0次

    1. 自定义 Getter 模板

    场景:

    在自定义 POJO 时可能会需要设置 Getter 和 Setter 方法,在 使用 Model 的 get 方法获取对象属性时,为了防止空指针,经常需要手动去判断是否为 null。

    默认的 Getter 方法实现
    比如上图,使用 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

    相关文章

      网友评论

          本文标题:AS - 自定义模板

          本文链接:https://www.haomeiwen.com/subject/qahhwftx.html