修改自动生成get/set方法模板代码

今天看到 面对接口脏数据你还在V层if str==null else setText? 一文,觉着写得挺好,开发过程当中多思考多动手,会带来意想不到的效果。底下评论你们也都说了各自的方法和看法,文中有一些问题做者后来也解决了,看到评论里有人说: bash

image.png

说到配置as,就能够实如今建立bean时自动生成return xx==null?"":xx; 觉着很好,由于我觉着这是一种挺简单的方法,可是就如同底下人问了怎么配置呀,我也不知道,因而我就在本身as工具里新建了一个bean对象,按住alt+insert添加get/set方法,发现了解决办法。以下图: 工具

image.png

平时手快也没注意,今天仔细看了看,那上面的意思不就是,get 方法模块,set方法模板吗,后面跟着 IntelliJ Default大概就是默认的生成模板吧,点击后面的三个点 按钮进去看看,以下: post

image.png

这是set的,get方法也相似是这样的,大概也能看懂,想着是否是能够直接模板就行了,发现没法修改,后来又发现左上角的+号,原来是本身能够新建一个模板,而后再生成的时候选择本身的模板就行了,如咱们在get模板中新建一个本身的模板:ui

image.png

image.png

咱们知道咱们只须要改一下最后get方法return那个地方的代码,也就是这儿: this

image.png

不肯定是否是,咱们能够在后面跟着一个“#”号试试:spa

${name}() {
  return $field.name+"#";
}
复制代码

在生成的时候选择咱们自定义的模板: code

image.png

发现最后生成的代码:cdn

public String getAge() {
        return age + "#";
    }

    public void setAge(String age) {
        this.age = age;
    }

复制代码

这样证实肯定是这样的,那么我么能够继续进行真正的判断了: 咱们先把这个默认里的get方法代码拷贝到 MyGetter中,咱们再根据咱们本身的须要修改模板代码,其它地方不变,就修改须要修改的地方: 咱们想要实现这样的:return xx==null?"":xx,Ok ,那么我认为大概是这么写的,注意咱们只对String类型的字段进行判断,在此我修改下:对象

${name}() {
   return $field.name == null ? "" : $field.name;
}
${name}() {
    #if($field.String)
        return $field.name == null ? "" : $field.name;
    #else
         return $field.name;
     #end
}

复制代码

咱们对比一个default的写法:blog

${name}() {
  return $field.name;
}
复制代码

好的,咱们再继续生成一下:

public String getAge() {
        return age == null ? "" : age;
    }

    public void setAge(String age) {
        this.age = age;
    }
复制代码

好的,达成效果,耶,竟然还能够这么玩,之后可根据本身需求自行修改,谢谢你们。

相关文章
相关标签/搜索