近日在研究重構代碼的時候有用到idea的很多插件,好比CheckStyle,同時下載了阿里的開發規約,受到很多啓發。api
規約中會要求全部的方法都有Javadoc,可是一般咱們用idea默認生成的getter和setter方法是不帶註釋的,固然,咱們一樣能夠設置idea像MyEclipse同樣生成帶有Javadoc的模板,具體解決方案以下:ide
好比咱們有這麼一個pojo類:this
/** * 人類. * @author eric */ public final class People { /** * 姓名. */ private String name; /** * 年齡. */ private Integer age; }
這個時候咱們按下 Alt + Insert (Windows),或者 Command + N (MacOS)來打開生成窗口:idea
這裏咱們選擇Getter and Setter。spa
打開以下窗口:插件
咱們點擊如圖箭頭所示的地方,打開以下視圖:3d
而後咱們新建一個Template,點擊圖中的 "+" 號,而後輸入名稱(固然你能夠起個本身喜歡的名稱)code
點擊OK。以後在編輯區域複製粘貼以下代碼:blog
/** * 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; }
圖示:ip
完畢後點擊OK。
Setter的配置同上一致,咱們只需將編輯區內的代碼改下(固然Template Name也能夠改下:D):
/** * Sets the $field.name.
* * <p>You can use get$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() to get the value of $field.name</p> *
* @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。
到這裏算是大功告成了。
固然,你也能夠參考個人寫法來自定義生成的註釋的風格和樣式,僅供參考。