velocity生成代码
Apache Velocity是基于Java的开源模板引擎和代码生成器,可将模板转换为源代码。 因为它是用Java实现的,所以它能够解释各种模板并为任何语言(Web,服务,SQL,脚本等)生成代码,尽管它似乎主要面向Web开发。
速度结构
Velocity的结构由引擎和工具组成。 它的核心是Velocity Engine,它使用定义的模板,解释模板语言并生成代码。
模板使用速度模板语言( VTL )定义,这是一种具有有效指令的简单语言。 VTL语句是指令或变量,变量可以是独立方法或类方法。
VTL表达式的示例包括:
|
在Java中插入一个package语句,其中package name被定义为packagename |
|
添加一个名为classname的类 |
|
为所有定义的属性创建吸气方法 |
速度工具是基本的用户友好功能的集合。 有GenericTools ,“一组类提供了在标准Java SE Velocity项目中使用工具的基本基础结构,以及一组在通用Velocity模板中使用的工具”。 它们包括DateTool,MathTool,NumberTool,SortTool和XmlTool。 还有一些VelocityView工具,其中包括“所有GenericTools,并添加了用于在Web应用程序(Java EE项目)视图层中使用Velocity的基础结构和专用工具。” VelocityView工具包括BrowserTool,CookieTool和ImportTool
速度的优缺点
使用速度
Velocity的Java库在Maven存储库中可用。 要使用.jar文件,请在您的Maven构建配置中定义Velocity的最新版本。 (在撰写本文时,Velocity 1.7是最新版本。)例如,在您的Maven项目对象模型(POM)中输入以下内容:
< dependency
>
< groupId
> org.
apache .
velocity
</ groupId
>
< artifactId
> velocity
</ artifactId
>
< version
>
1.7
</ version
>
</ dependency
>
Java Hello World示例
要生成代码,您需要做两件事:
- 用于生成的Velocity模板 ,例如java_example.vm: