「Java开发指南」如何自定义Spring代码生成?(一) 搭建用户经常发现自己对生成的代码进行相同的修改这些修改与个人风格/偏好、项目特定需求或公司标准有关本教程演示自定义代码生成模板您将学习如何创建自定义项目修改现有模板来包含自定义注释使用JET和Skyway标记库中的标记配置项目来使用自定义注意自定义Spring代码生成需要MyEclipse授权。创建自定义项目在支持Spring的​​​​​​​MyEclipse中您可以创建一个定制项目来自定义一套完整的代码生成模板。这个标准的Eclipse项目包含所有可用的JET模板默认情况下scaffolding功能使用已安装的MyEclipse for Spring插件中的标准模板但是可以很容易地配置该项目来使用一个或多个Customization项目作为模板源。1. 选择FileNewOther展开MyEclipse Customization然后选择MyEclipse for Spring Customization Project点击Next。创建新的自定义项目2. 输入AcmeCustomizations作为项目名然后点击Finish。给项目命名自定义模板几乎所有生成的Spring scaffolding构件都来自使用JET实现的模板JET是Eclipse M2T项目中的模板引擎用于使用类似于JavaServer Pages JSP的方法将元数据/模型转换为具体代码。1. 在资源管理器中展开自定义项目代码生成模板分组到几个文件夹中。模板文件夹2. 打开名为Service.jet的模板Spring服务的模板位于com.skyway.integration.service.webservice/templates文件夹中。用于生成Spring服务的JET模板模板有三个主要部分用于编译模板的JET指令——JET模板被编译成Java代码第一个JET指令指定编译参数即包名和类名。用于导入JET标记库的JET指令——JET标记库与JSP标记库非常相似每个模板都必须指定将要使用哪些标记库。这个特殊的模板使用JETorg.eclipse.jet.*和Skywayorg.skyway.integration.*提供的库。模板主体——这是模板的实际主体用于指定生成的输出。JET模板布局将以下代码块添加到模板中它应该立即添加到第10行%taglibprefix”jaxws”…. %。%taglib prefixf idorg.eclipse.jet.formatTags% //********************************************************** // sw:javaType select$model / // // Author: TODO: update developers name in comment header // Creation date: f:formatNow patternMM/dd/yyyy / // // Copyright (C) 2013 Acme Corporation //*********************************************************查看模板自定义更新后的模板将向所有生成的服务实现类添加注释块注释块包括静态内容即标签、版权声明和动态内容名称、日期目标是在注释块中包含开发人员的名字。由于不能动态地派生开发人员的名称因此将在源代码中发出一个Eclipse TODO任务以提醒开发人员需要对其进行设置。以下是一些值得注意的事情为了在标题中包含当前日期使用JET声明包含了org.eclipse.jet.formatTags标记。类名将使用org.skyway.integration.java.spring.skywaySpringCodeGenTags标签发送到注释块中。更新模板未完待续下期精彩继续......