亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Eclipse RCP+Spring建胖客戶端Web程序

系統 1672 0
? 三. 把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。

Eclipse RCP+Spring建胖客戶端Web程序
圖9.輸出第三方庫

  4. 現在,你要修改SpringClient的manifest。在包資源管理器中,展開SpringClient->META-INF并且打開MANIFEST.MF。點擊"Runtime"選項卡并且點擊Classpath部分的"Add"。全選Spring jars和logging jars并且點擊OK。現在,在"Exported Packages"節中,點擊Add。選擇所有的包以便導出,并點擊OK(見圖10)。

Eclipse RCP+Spring建胖客戶端Web程序
圖10.把第三方庫添加到插件Classpath并導出包

  我以前提及過,Eclipse的classloader經常引起問題。為了補救這一點,你可以點擊MANIFEST.MF選項卡并且添加下面一行:

  Eclipse-BuddyPolicy: registered

  5. 現在,讓我們添加spring配置文件。在Package Explorer中,轉到src目錄,創建一個新文件applicationContext.xml,并且加入下列內容:

Eclipse RCP+Spring建胖客戶端Web程序

  在src目錄下,另外創建一個新文件beanRefFactory.xml并且加入下列內容:

Eclipse RCP+Spring建胖客戶端Web程序

  不必感到驚訝,這些配置文件與你對stocktradeserver工程進行單元測試時使用的spring配置文件是相同的,除了你重命名了applicationContext.xml以外。

  6. 為了簡化問題,你可以把類從stocktradeserver工程復制到SpringClient的src目錄下。在SpringClient的src目錄下面,創建包stephenlum.services.stock和stephenlum.services.stock.dto。

  如果你還沒有準備好,你可以下載本文源碼或參考我的前一篇文章并且復制stephenlum.services.stock下的類StockService.java。然后,復制在stephenlum.services.stock.dto下的類StockDTO.java(見圖11)。

Eclipse RCP+Spring建胖客戶端Web程序
圖11.完成上面操作后的Package Explorer看上去的樣子

  7. 把代碼添加到類SpringClientPlugin以裝載Spring的應用程序上下文。注意,你要把該代碼添加到構造器中。下面是新的SpringClientPlugin類:

package springClient;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.access.BeanFactoryLocator;
import org.springframework.beans.factory.access.BeanFactoryReference;
import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
/**
*應用于桌面的主插件類。
*/
public class SpringClientPlugin extends AbstractUIPlugin {
 private BeanFactory beanFactory;
 //共享實例.
 private static SpringClientPlugin plugin;
 /**
 *構造器.
 */
 public SpringClientPlugin() {
  plugin = this;
  BeanFactoryLocator beanFactoryLocator = SingletonBeanFactoryLocator.getInstance();
  BeanFactoryReference beanFactoryReference = beanFactoryLocator.useBeanFactory("ctx");
  beanFactory = beanFactoryReference.getFactory();
 }
 /**
 *在插件激活時調用這個方法
 */
 public void start(BundleContext context) throws Exception {
  super.start(context);
 }
 /**
 *當停止插件時,調用這個方法
 */
 public void stop(BundleContext context) throws Exception {
  super.stop(context);
  plugin = null;
 }
 /**
 *返回共享實例.
 */
 public static SpringClientPlugin getDefault() {
  return plugin;
 }
 /**
 *返回在給定的插件相對路徑下的圖像文件的一個圖像描述符
 * @param path-路徑
 * @返回圖像描述符
 */
 public static ImageDescriptor getImageDescriptor(String path) {
  return AbstractUIPlugin.imageDescriptorFromPlugin("SpringClient", path);
 }
 public BeanFactory getBeanFactory() {
  return beanFactory;
 }
}

  8. 最后,添加依賴性以實現工程EclipseTradeClient依賴于你的新插件工程SpringClient。在工程EclipseTradeClient中,打開plugin.xml并且點擊"Dependencies"選項卡。在"Required Plug-ins"節中,點擊Add,選擇"SpringClient(1.0.0)",并且點擊OK(見圖12)。

Eclipse RCP+Spring建胖客戶端Web程序
圖12.把SpringClient添加為一個要求的插件

  現在,你必須在EclipseTradeClient manifest文件中添加與Eclipse的伙伴策略相關的內容。在文件plugin.xml中,點擊MANIFEST.MF選項卡并且添加下列入口:

  Eclipse-RegisterBuddy: SpringClient

Eclipse RCP+Spring建胖客戶端Web程序


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九爱www高清免费人成 | 深夜天堂 | 中国性xxxxx极品奶水 | 99re热视频这里只有精品5 | 另类重口性色老妇 | 久久大香香蕉国产免费网站 | 国产精品久久久久三级 | 99久久精品国产免看国产一区 | 国产免费看 | 国产综合色在线视频区色吧图片 | 德国女人一级毛片免费 | 色婷婷色99国产综合精品 | 国产在线欧美精品中文一区 | 亚洲久爱| 国产欧美日韩一区二区三区视频 | 伊人色院成人蜜桃视频 | 99日精品欧美国产 | 91精品视频在线免费观看 | 四虎影院在线播放 | 久久一级视频 | 深夜色| 99热这里只有精品国产在热久久 | 五月一区二区久久综合天堂 | 999在线观看视频 | 91久久国产精品 | 国产成年视频 | 久揄揄鲁一二三四区高清在线 | 91探花在线视频 | 纯欧美一级毛片_免费 | 一区二区在线 | 欧美日韩中文一区二区三区 | 国产目拍亚洲精品一区二区三区 | 在线观看高清国产福利视频 | 四虎ww| 操的好爽视频 | 99国产精品一区二区 | 欧美一级一极性活片免费观看 | 亚洲夜夜操 | 亚洲欧美综合一区二区三区四区 | 黄色一级免费网站 | jizz中国视频|