这篇文章给大家分享的是有关IDEA如何设置生成带注释的getter和setter的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都创新互联是一家专业的成都网站建设公司,我们专注做网站、成都网站设计、网络营销、企业网站建设,外链,1元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
近日在研究重构代码的时候有用到idea的不少插件,比如CheckStyle,同时下载了阿里的开发规约,受到不少启发。
规约中会要求所有的方法都有Javadoc,但是通常我们用idea默认生成的getter和setter方法是不带注释的,当然,我们同样可以设置idea像MyEclipse一样生成带有Javadoc的模板,具体解决方案如下:
比如我们有这么一个pojo类:
/** * 人类. * @author eric */ public final class People { /** * 姓名. */ private String name; /** * 年龄. */ private Integer age; }
这个时候我们按下 Alt + Insert (Windows),或者 Command + N (MacOS)来打开生成窗口:
这里我们选择Getter and Setter。
打开如下窗口:
我们点击如图箭头所示的地方,打开如下视图:
然后我们新建一个Template,点击图中的 "+" 号,然后输入名称(当然你可以起个自己喜欢的名称)
点击OK。之后在编辑区域复制粘贴如下代码:
/** * Gets the value of $field.name * @return the value of $field.name */ public ## #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}() { return $field.name; }
完毕后点击OK。
Setter的配置同上一致,我们只需将编辑区内的代码改下(当然Template Name也可以改下:D):
/** * Sets the $field.name *You can use get$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() to get the value of $field.name
* @param $field.name $field.name */ #set($paramName = $helper.getParamName($field, $project)) public ## #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 $field.name = $paramName; }
下面就让我们来看下成果:
在这里注意要选择我们刚配置好的Template,而不是Default。
点击OK。
到这里算是大功告成了。
感谢各位的阅读!关于“IDEA如何设置生成带注释的getter和setter”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!