扩展Eclipse辅助和规范开发流程
2008-02-23 07:50:09来源:互联网 阅读 ()
一.前言
你的小组的人员是否不按照你制订的开发流程和代码规范来开发? 你的小组的成员经常变化,经常要对新手讲述什么是 Struts,什么是MVC? 已有的开发工具的功能不能满足你的需要?
如果你遇到上述问题,请看看本文,虽然它不一定能解决好你的问题,但至少它回给你一定的启发的。本文从实际案例触发,深入浅出,图文并茂向您描述了如何利用 Eclipse 平台规范你小组的开发流程,并且帮助新手快速融入开发中。 阅读本文,最好具有 J2EE 开发、Eclipse 平台和插件开发、Eclipse 平台 JDT 插件扩展和 Struts 相关知识。
二.实施整体描述
Eclipse 虽然是一个开源的平台,但是现如今其功能功能已经不输给任何开发工具,借助 eclipse 自带的 JDT 和各种第三方的插件,Eclipse 成为最流行的开发工具之一。
Eclipse 已经拥有软件开发,测试,文档,协作等能力,它已经能融入软件开发的整个流程中了。
让我们从一个实际的案例例谈起,看看我们是如何扩展 Eclipse 来辅助和规范我们的开发工作的。这是一个电力公司销售分析系统,里面有众多的各种各样的分析主题,例如要分析一个电力公司的销售情况,用户可以选择时间范围来分析公司的销售情况,如下图所示:
我们的小组在开发一个主题的流程大致是这样的:
编写扩展 JDT 的插件辅助开发流程
我们的开发流程从本质上来说,还是和上面一样,但是由于我们使用了 wizards 和扩展了 JDT 来辅助我们完成工作,那么实际开发者的开发流程会简化了,如下:
核心是扩展了 JDT 插件,把开发的流程集中在一个 Wizard 完成。
首先,让我们看看实际的效果,然后再深入说明和讲解。
1.在 eclipse 平台中单击开始->新建->J2EE 开发包->开发新的分析主题菜单。
如下图所示:
2.首先显示的是生成 Action 类的界面,它扩展了 JDT 插件的功能来允许程序员的输入客户容许的查询条件,而且它已经把父类设定为了可以看到父类 org.apache.struts.action.Action,这是 Struts 的要求.这再后面是用来自动生成 FormBean,和 Jsp 表单用的。
3.单击next,在这里输入SQL,并且可以直接测试。参数用?代替。小组成员可以直接在这里直接编写,测试SQL,再最后会自动生成Java代码。
4.如果没有错误,单击 finish 按钮。会自动生成 Jsp,Action 的骨架和基本功能代码。自动生成的 Jsp 表单,自动生成的 Action 和自动生成的现实查询结果的 Jsp。由于这里各个项目完全不同,建立都使用模板引擎这样随时修改模板就不用修改为 Java 代码了。
大体的结构如下,有两个 jsp,一个 anction:
5.根据实际情况修改骨架,运行,并且测试一下效果。
三.如何开发
1.首先是如何开发 Eclipse 中的 Wizard 。
这里我不从头介绍如何开发 Wizard,如果您对如何开发 Wizard 尚且一无所知,请参考 Eclipse.org 上来自 Doina Klinger 的文章: http://www.eclipse.org/articles/Article-JFace Wizards/wizardArticle.html ,此文 Step by Stey 的介绍了如何创建 Eclipse 的 wizard,和各种细节知识。
首先,看看我们插件的 plugin.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.ui.newWizards">
<category
name="北京能博译码J2EE开发包"
id="net.sf.yangtze.pdpf"/>
<wizard
class="net.sf.yangtze.pdpf.wizards.NewSubjectWizard"
icon="icons/sample.gif"
category="net.sf.yangtze.pdpf"
name="开发新的分析主题"
id="net.sf.yangtze.pdpf.wizards.NewSubjectWizard"/>
</extension>
</plugin>
实现它的类 net.sf.yangtze.pdpf.wizards.NewSubjectWizard 继承自 org.eclipse.jface.wizard.Wizard 类,它有几个重要的方法:
addPage - 向 Wizard 添加页面,就是那些可以通过 next>,<back 浏览的页面。
FinishPage - 当用户点击 finish 的时候程序完成的工作。在我们的插件中就是完成自动生成 jsp,Action 的工作,把这些代码放在FinishPage 方法即可。
我们有两个 Page 一个用来输入和测试 SQL 语句,一个用来定制 Action 和可以输入的参数。
2.然后是如何从 JDT 扩展。
这部分现成资料不多,所以要稍微探讨一下。经常使用 Eclipse 开发 java 的程序员应该非常熟悉 JDT,实际上 Eclipse 平台可以用来开发任何语言的,它并不是一个 Java IDE,Java IDE 的功能是通过 JDT 插件完成的,在 Eclipse 的世界中一切都是插件。
在开发 Java 的时候,有许多的 Wizard 来辅助我们完成编码工作,如新建类,接口,如下图:
而且它里面有很多辅助工作,如你点击超类的时候,有一个帮助你输入超类名称的窗口会弹出来,在里面你并不需要输入类的完整的名称,它会自动提示。接口和包都有类似的辅助输入的功能。
我使用这些功能觉得很方便和习惯,所以我希望我的插件在创建 Action 的时候也能有类似的功能,而我不想自己再重新造个轮子(而且这个工作可不轻松),所以我就得从 JDT 中扩展,而不使用标准的 org.eclipse.jface.wizard.Wizard 类。
在传统的 wizard 中我们使用 org.eclipse.jface.wizard.Wizard 和 org.eclipse.jface.wizard.WizardPage 类,但如果你希望继承 JDT 的功能必须对应使用 org.eclipse.jdt.internal.ui.wizards.NewElementWizard 和 org.eclipse.jdt.ui.wizards.NewTypeWizardPage 类。
NewElementWizard 也是继承自 Wizard,它只是做了一些检查是不是 Java 项目等工作,Eclipse 中新建类,和接口 Wizard 都是从这个类基础发展而来的。内容丰富的是 org.eclipse.jdt.ui.wizards.NewTypeWizardPage 类,它包含了浏览项目,浏览超类,接口等功能,而且提供了丰富的方法来构建你的 Java 类型,例如添加方法,添加 import 等,更多内容可以参考自带的 API doc 文件,一幕了然。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash