【聚杰网数据库编程】Eclipse RCP+Spring建胖客户端Web程序
![]() 图6.为ExplorerView重构View类 |
2. 遗憾的是,Eclipse的重构能力有点弱-特别与IntelliJ作比较的话。对于象这样的重构来说,IntelliJ将不仅按期望对类加以改变,而且它会把重构应用于你的.xml文件!这是非常有用的特征,特别是在一种Spring/Hibernate/XML配置操作比例极大的情况下。
你必须手工地更新对plugin.xml的重构。打开plugin.xml,并且点击plugin.xml选项卡。找到相应于View的扩展,并且作如下更新:
| name="ExplorerView" class="eclipseTradeClient.ExplorerView" id="EclipseTradeClient.explorerView"> |
此后,进行保存(见图7)。
![]() 图7.进一步重构-手工更新Plugin.XML |
3. 对于这种简单的重构,情况就是这样,对吗?是的;但遗憾的是,你还没有结束。打开类ExplorerView,改变静态变量ID-把它初始化为EclipseTradeClient.explorerView。这相应于你刚才在plugin.xml中设置的ID。
4. 最后,你完成重构。现在,让我们测试一下是否一切改动正常。切换回编辑器中的plugin.xml,并且点击"Overview"选项卡。点击"Launch an Eclipse application",这应该导致如图8所示结果。
![]() 图8.启动Eclipse Trade Client程序 |
5. 现在让我们改变结点的名字。打开类ExplorerView。找到内部类ViewContentProvider,并且改变方法"Object getElements(Object parent)",让其返回一个字符串数组({"Watch List","Order History"})。

三. 把Spring Remoting添加到你的应用程序
下面,我们把Spring添加到你的Eclipse丰富的客户端以便它向前一篇文章中的StockTradeServer工程发出请求。
首先,当开发Eclipse插件/RCP应用程序时,添加第三方库的推荐的方法是通过另外一个插件。这样做以后,你就不需要把这些第三方jars添加到你创建的每个工程。而是,你仅建立你的插件/RCP工程和第三方库工程之间的某种依赖性。首先,我们假定你熟悉Eclipse的classloader。要点是,你必须采取一些额外的步骤来确保你的类在插件依赖性之间能够彼此找到对方:
1. 在Eclipse中创建一个新的插件工程。并命名这个新工程为SpringClient。然后,设置如下值:
| ID = SpringClient Class = springClient.SpringClientPlugin |
在填充Plug-in属性后,点击Finish。对于SpringClient插件工程,你不需要任何模板,因为其主要目的是存储Spring库和任何Spring相关的服务类。
2. 在你的解压的spring-framework-1.2.8发行包中,你会找到下列jar文件:
·spring-aop.jar-在文件夹dist下
·spring-beans.jar-在文件夹dist下
·spring-context.jar-在文件夹dist下
·spring-core.jar-在文件夹dist下
·spring-remoting.jar-在文件夹dist下
·commons-logging.jar-在文件夹lib/jakarta-commons下
·log4j-1.2.13.jar-在文件夹lib/log4j下
然后,把它们全部复制到你的SpringClient根目录下。
3. 在Eclipse的包资源管理器中,右击SpringClient以打开工程属性。选择"Java Build Path",点击"Libraries"选项卡,并且把刚才你通过按钮"Add JARs"添加的所有的那些jar文件加入。请确保你也导入了这些库!点击"Order and Export"选项卡,并且检查所有的库(见图9)。通过这样做,你就可以确保,当你创建对SpringClient的一种工作依赖性时,spring和log jars也是可用的。此后,点击OK。
![]() 图9.输出第三方库 |
4. 现在,你要修改SpringClient的manifest。在包资源管理器中,展开SpringClient->META-INF并且打开MANIFEST.MF。点击"Runtime"选项卡并且点击Classpath部分的"Add"。全选Spring jars和logging jars并且点击OK。现在,在"Exported Packages"节中,点击Add。选择所有的包以便导出,并点击OK(见图10)。








