首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse RCP + Spring 打造胖客戶端應用:完整實戰教學

     編輯:Java 相關知識

為何選擇 Eclipse RCP?

提供應用程式框架/外殼(選單、工具列、視圖管理)、模組化 API、成熟生態。本文示範:以 RCP 建立前端,整合 Spring Remoting 呼叫後端服務。

環境準備

  • Eclipse 3.1.2 + MyEclipse 4.1.1
  • Java SE 5、Tomcat 5.5+、Spring 1.2+

步驟 1:建立 RCP 專案

  1. New Plug-in Project → EclipseTradeClient,勾選「Create an OSGi bundle manifest」。
  2. 勾選「Create a rich client application」,模板選「RCP application with a view」。
  3. 檢視 plugin.xml:Overview 分頁可直接啟動應用程式。

步驟 2:重構預設 View

  • 將 View 重命名 ExplorerView(Refactor → Rename)。
  • 手動更新 plugin.xml 對應的 name、class、id。
  • 修改 ExplorerView.ID 常數對應新 ID。
  • 調整 ViewContentProvider.getElements() 回傳 {"Watch List", "Order History"}。

步驟 3:建立 Spring 共用外掛

  1. 新 Plug-in Project SpringClient (無模板),複製 Spring 必要 JAR (spring-*.jar, commons-logging.jar, log4j.jar) 至專案根目錄。
  2. Build Path 加入 JAR,Order and Export 全勾選。
  3. MANIFEST.MF → Runtime 分頁:Classpath 加入所有 JAR,Exported Packages 全匯出。
  4. MANIFEST.MF 來源分頁加入 Eclipse-BuddyPolicy: registered 解決 ClassLoader 可見性。
  5. 撰寫 applicationContext.xml、beanRefFactory.xml (含 HttpInvoker 服務定義)。
  6. 複製後端服務介面 StockService、DTO StockDTO 至 SpringClient。
  7. 修改 SpringClientPlugin 建構子載入 Spring Context:
BeanFactoryLocator locator = SingletonBeanFactoryLocator.getInstance();
BeanFactoryReference ref = locator.useBeanFactory("ctx");
beanFactory = ref.getFactory();

步驟 4:建立依賴關係

  • EclipseTradeClient 的 plugin.xml → Dependencies 加入 SpringClient。
  • EclipseTradeClient 的 MANIFEST.MF 加入 Eclipse-RegisterBuddy: SpringClient。

步驟 5:開發 WatchListView

  1. plugin.xml → Extensions 加入 org.eclipse.ui.views,模板 SampleView,命名 WatchListView (Table Viewer)。
  2. 實作 ITableLabelProvider (WatchListTableLabelProvider) 映射 StockDTO 欄位至表格欄。
  3. WatchListView 透過 SpringClientPlugin.getDefault().getBeanFactory() 取得 StockService,按鈕動作呼叫遠端取得股票清單並填入 TableViewer。
  4. 修改 Perspective 版面配置:左側 ExplorerView、底部 WatchListView。

步驟 6:部署與執行

  1. MyEclipse 將 stocktradeserver 專案部署至 Tomcat 並啟動。
  2. EclipseTradeClient 的 plugin.xml Overview 分頁點擊「Launch an Eclipse application」。
  3. 點擊紅色按鈕 → 透過 Spring HttpInvoker 取得股票資料顯示於表格;旁邊按鈕清除列表。

總結

RCP 大幅減少 GUI 框架樣板碼;Spring Remoting 讓通訊協議切換容易,並享有伺服器端 Spring 優勢 (DI、AOP、事務等)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved