「Java开发指南」如何自定义Spring代码生成?(一)
搭建用户经常发现自己对生成的代码进行相同的修改,这些修改与个人风格/偏好、项目特定需求或公司标准有关,本教程演示自定义代码生成模板,您将学习如何:
- 创建自定义项目
- 修改现有模板来包含自定义注释
- 使用JET和Skyway标记库中的标记
- 配置项目来使用自定义
MyEclipse技术交流群:742336981 欢迎一起进群讨论
创建自定义项目
在支持Spring的MyEclipse中,您可以创建一个定制项目来自定义一套完整的代码生成模板。这个标准的Eclipse项目包含所有可用的JET模板,默认情况下,scaffolding功能使用已安装的MyEclipse for Spring插件中的标准模板,但是可以很容易地配置该项目,来使用一个或多个Customization项目作为模板源。
1. 选择File>New>Other,展开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文件夹中。

模板有三个主要部分:
用于编译模板的JET指令——JET模板被编译成Java代码,第一个JET指令指定编译参数(即:包名和类名)。
用于导入JET标记库的JET指令——JET标记库与JSP标记库非常相似,每个模板都必须指定将要使用哪些标记库。这个特殊的模板使用JET(org.eclipse.jet.*)和Skyway(org.skyway.integration.*)提供的库。
模板主体——这是模板的实际主体,用于指定生成的输出。

将以下代码块添加到模板中,它应该立即添加到第10行(<%taglibprefix=”jaxws”…. %>)。
<%@taglib prefix="f" id="org.eclipse.jet.formatTags"%>
//**********************************************************
// <sw:javaType select="$model" />
//
// Author: TODO: update developer's name in comment header
// Creation date: <f:formatNow pattern="MM/dd/yyyy" />
//
// Copyright (C) 2013 Acme Corporation
//*********************************************************
查看模板自定义,更新后的模板将向所有生成的服务实现类添加注释块,注释块包括静态内容(即标签、版权声明)和动态内容(名称、日期),目标是在注释块中包含开发人员的名字。由于不能动态地派生开发人员的名称,因此将在源代码中发出一个Eclipse TODO任务,以提醒开发人员需要对其进行设置。以下是一些值得注意的事情:
- 为了在标题中包含当前日期,使用JET声明包含了org.eclipse.jet.formatTags标记。
- 类名将使用org.skyway.integration.java.spring.skywaySpringCodeGenTags标签发送到注释块中。

未完待续,下期精彩继续......
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-11-04 MyEclipse,一个支持技术全面的现代Web开发工具
2022-11-04 应用程序主题研发有妙招!DevExtreme拥有多种预定义主题样式
2021-11-04 UI开发框架Kendo React R3 2021更新亮点——新的 React 组件
2021-11-04 高性能HTML5/JS开发框架DevExtreme v21.2.3重磅发布
2021-11-04 界面控件DevExpress v21.2.3重磅发布——支持VS 2022 & .NET 6
2020-11-04 WinForm界面开发实用教程推荐——Server Mode - 在DataLayoutControl中编辑聚焦的GridView行
2019-11-04 .Net界面开发控件DevExpress Winforms v19.2发布!增强图表功能