博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
idea中file-template的使用
阅读量:7231 次
发布时间:2019-06-29

本文共 763 字,大约阅读时间需要 2 分钟。

前言

最近想使用idea提供的File template自动化创建service和dao文件,目标如下 创建java文件时输入ExampleServiceImpl,生成如下文件

@Service("exampleService")public class ExampleServiceImpl		implements ExampleService{}复制代码

结果

下面是编写的模板文件

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end#parse("File Header.java")#set($INTERFACE = ${StringUtils.chop($NAME,4)})#set($SERVICE = $INTERFACE.substring(0,1).toLowerCase()+ $INTERFACE.substring(1))@Service("${SERVICE}")public class ${NAME} implements ${INTERFACE}{}复制代码

研究过程

这里的关键就是 $INTERFACE和$SERVICE的解析 file tempalte是基于apache velocity的 这里主要用到了下面三点

set指令

velocity中使用 **#set($VAR = ...)**声明一个可能使用多次的变量

StringUtils.chop(String str,int i)

丢弃str的最后i个字符,值得注意的是需要使用**${

()...}**包裹velocity的工具类

$VAR.substring()

在这里$VAR其实都是字符串,所以可以直接使用字符串相关的api


转载地址:http://rrpfm.baihongyu.com/

你可能感兴趣的文章
ORA-00020: maximum number of processes (xxxx) exceeded 报错解决方法
查看>>
Jmeter之csv参数化
查看>>
J2EE程序员应该要掌握的linux知识
查看>>
MySQL中select * for update锁表的范围
查看>>
Python与Microsoft Office自动化操作
查看>>
Linq&C#3.0 Hands on Lab
查看>>
[Nikon D80]高考众生
查看>>
NHibernate 2 学习
查看>>
OWIN and Katana
查看>>
(原創) 如何確保傳進function的array不被任意更改? (C/C++) (C)
查看>>
(原創) 如何讓Quartus II 8.0的Programmer不要另開新視窗? (SOC) (Quartus II)
查看>>
asp.net下使用CKEditor和CKFinder
查看>>
STM32 ADC学习
查看>>
你所不知道的传输层
查看>>
EMACS::基本操作
查看>>
matlab练习程序(最小二乘多项式拟合)
查看>>
POJ 1149 PIGS (Dinic 或 EK)
查看>>
Vista SP1 vs. XP SP2 - Benchmarked
查看>>
深入理解CSS中的行高
查看>>
算法阶段4
查看>>