news 2026/7/6 20:48:13

「Java开发指南」如何自定义Spring代码生成?(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
「Java开发指南」如何自定义Spring代码生成?(一)

搭建用户经常发现自己对生成的代码进行相同的修改,这些修改与个人风格/偏好、项目特定需求或公司标准有关,本教程演示自定义代码生成模板,您将学习如何:

  • 创建自定义项目
  • 修改现有模板来包含自定义注释
  • 使用JET和Skyway标记库中的标记
  • 配置项目来使用自定义

注意:自定义Spring代码生成需要MyEclipse授权。

创建自定义项目

在支持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文件夹中。

用于生成Spring服务的JET模板

模板有三个主要部分:

用于编译模板的JET指令——JET模板被编译成Java代码,第一个JET指令指定编译参数(即:包名和类名)。

用于导入JET标记库的JET指令——JET标记库与JSP标记库非常相似,每个模板都必须指定将要使用哪些标记库。这个特殊的模板使用JET(org.eclipse.jet.*)和Skyway(org.skyway.integration.*)提供的库。

模板主体——这是模板的实际主体,用于指定生成的输出。

JET模板布局

将以下代码块添加到模板中,它应该立即添加到第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标签发送到注释块中。

更新模板

未完待续,下期精彩继续......

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 20:47:33

AI 无刷电动工具高效智能功率 MOSFET 选型方案

AI 技术正重塑电动工具&#xff08;如电钻、角磨机、电锯&#xff09;的体验&#xff0c;通过智能负载识别、自适应扭矩调节、电池健康管理实现更高效、更安全、更持久的运行。这对功率 MOSFET 提出新要求&#xff1a;高功率密度、快速开关、超低损耗、强散热能力。微碧半导体基…

作者头像 李华
网站建设 2026/7/6 20:46:03

如何5分钟快速实现跨设备剪贴板同步:SyncClipboard终极指南

如何5分钟快速实现跨设备剪贴板同步&#xff1a;SyncClipboard终极指南 【免费下载链接】SyncClipboard 跨平台剪贴板同步、历史记录管理工具 / Cross-platform cipboard syncing, history management tool 项目地址: https://gitcode.com/gh_mirrors/sy/SyncClipboard …

作者头像 李华
网站建设 2026/7/6 20:44:57

界面控件Telerik UI for ASP.NET AJAX 2024 Q3亮点 - 新增金字塔图表类型

Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80控件&#xff0c;将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半。Telerik UI for ASP.NET AJAX是完整的 ASP.NET AJAX 用户界面开发工具集&#xff0c;拥有超过80多种优化的ASP.NET AJAX …

作者头像 李华
网站建设 2026/7/6 20:44:25

「Qt Widget中文示例指南」如何创建一个窗口标志?(一)

Qt是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 窗口标志要么是类型&…

作者头像 李华
网站建设 2026/7/6 20:42:28

Linkora使用技巧:10个你必须知道的高效链接管理功能

Linkora使用技巧&#xff1a;10个你必须知道的高效链接管理功能 【免费下载链接】Linkora Local-first multiplatform link organizer with optional self-hosted sync. 项目地址: https://gitcode.com/gh_mirrors/li/Linkora Linkora是一款本地优先的多平台链接管理器&…

作者头像 李华