首頁>技術>

Idea使用Live Templates將常見的構造插入程式碼中,例如迴圈,條件,各種宣告或列印語句。如下圖

靜態內容輸出

迴圈、判斷

官方預定義Java模板

預定義Java模板

熟練使用Idea提供的live templates能夠極大地加快開發速度,但是Idea提供的模板相對簡單,只能滿足日常重複的迴圈、判斷、輸出等。

建立簡單模板

在編輯器中,選擇程式碼片段以從中建立Live templates。

在主選單中選擇 Tools | Save as Live Template... 實時模板列表將開啟。 在此列表中,選擇的程式碼片段將作為新建立的模板新增到user組中。

指定模板的縮寫,可選描述(以標識模板的用途)並修改模板主體。 如果模板定義了變數,單擊“Edit Variables”進行配置。

完成設定後單擊“確定”完成配置。

接下來在程式碼中輸入剛建立的模板的縮寫+Tab,就會看到模板生成的程式碼了。

GroovyScript高階模板

如果要按照業務的特性製作複雜,自動內容處理的模板,就需要使用到GroovyScript來製作高階的Live templates了。

比如,Controller中主要存在增刪改查,每個方法通用的寫法是固定的,比如入參Dto,響應Vo。並且所有的方法必須加Swagger註解等特性。那麼為了大家定義介面更加規範,書寫效率更高,就可以將此定義成模板進行復用。

定義模板:

Performance -> Editor -> Live Templates.

@ApiOperation(value = "按id查詢", notes = "按id查詢XXX", response = $VO$.class)@GetMapping("one/{id}")public ResponseEntity<$VO$> queryEntityById(@PathVariable @ApiParam("物件id") String id) {    $VO$ vo = this.$SERVICE$.queryEntityById(id);    return ResponseEntity.ok(vo);}

示例程式碼中可以看到,定義了兩個變數VO和SERVICE。在使用時,需要根據提示填寫這兩個變數。這裡我們將GroovyScript,用指令碼來生成預設的變數,在程式碼生成以後,一路回車確認來生成模板程式碼。

模板變數編輯

這樣編輯好即可,但截圖中的變量表達式如何編輯呢?

groovyScript("def className = _1;return className.substring(0, className.length()-10) + \"Vo\";", className())

groovyScript指令碼:

第一個引數是指令碼程式碼,這裡可以定義變數,寫邏輯。

第二個,第三個引數就是為指令碼程式碼傳遞的引數。這裡我們傳遞className(),把類名傳遞進指令碼中做處理。

接收引數,指令碼第一個引數為_1, 第二個就是_2, 以此類推。

在這個示例中,VO,我們就定義為DemoController,去掉Controller字尾後,增加Vo字尾。作為VO變數的預設命名,最終結果就是DemoVo。

SERVICE類似,最終結果就是demoService。

按照Id獲取資料寫完後,就可以寫根據id修改資料,根據條件查詢分頁資料等介面了。

Controller介面寫完以後,還可以完成Service介面的書寫。

經過上面的努力,寫規範的程式碼就再也不愁了。

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Android效能最佳化(一)-啟動最佳化