<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    邋遢居

    我的Java天堂

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks
    ???????????????????????????????? 在eclipse rcp中使用spring框架

    很久就想了如何在Rcp程序中使用Spring。讓Spring容器來(lái)管理我們rcp程序中的Beans。看到web項(xiàng)目中使用了spring后帶來(lái)的好處(最直接的就是看到代碼量少了)就一臉的憧憬。想我的好日子什么時(shí)候才會(huì)來(lái)啊。

    有這個(gè)憧憬后我就開始考慮改如何做了。大家肯定都知道如果在eclipse rcp程序中使用直接使用springbeanfactory無(wú)論你是使用方式都會(huì)說(shuō)找不到配置文件的。這個(gè)其中的原因是Eclipse 的每個(gè)插件都使用他們自己的類加載器(class load

    說(shuō)明:eclipse中類的詳細(xì)的裝載過(guò)程可以產(chǎn)考《Contributing to eclipse 中文版》p44

    所以說(shuō)能夠正確的找到bean的配置文件成了一個(gè)難題。

    還有一個(gè)問(wèn)題就是如何管理BeanFactory也是一個(gè)問(wèn)題。

    既然提出了這兩個(gè)問(wèn)題,那就的一個(gè)一個(gè)的面對(duì)啊。

    第一個(gè)問(wèn)題的解決方式。只要通過(guò)一個(gè)插件中的類就可以獲得。

    我試了一下通過(guò)如下代碼可以切換class load

    最頭疼的問(wèn)題就是如何來(lái)管理springBeanFactory。如果在每個(gè)Plugin類的繼承類里都加上對(duì)beanfactory的創(chuàng)建。想想都是很惡心的事情。就為這個(gè)事情一直停滯不前。搞的我快郁悶死掉了。

    就在快死還沒有死的時(shí)候看到了一個(gè)叫EclipseSpring項(xiàng)目(http://sourceforge.net/projects/eclipse-spring/)。一看超爽。他直接把我想做的事情直接給做了。

    下面我們就來(lái)看看一下他的發(fā)布包里代的那個(gè)例子。這個(gè)例子很簡(jiǎn)單。就只是提供了一個(gè)view。View里顯示一個(gè)條問(wèn)候語(yǔ)。
    simple view.jpg

    呵呵,是不是很界面太簡(jiǎn)單了。這個(gè)我們就不說(shuō)了。我們來(lái)說(shuō)說(shuō)他這個(gè)示例中到底是怎么實(shí)現(xiàn)的。

    先看看他的plugin.xml文件把。

    pluginxml.jpg

    看看那個(gè)org.eclipse.ui.view那個(gè)擴(kuò)展點(diǎn)。是不是有點(diǎn)奇怪啊。他的類是net.sourceforge.eclipsespring.SpringExtensionFactory:example/userNameView這個(gè)樣子的。一言看上去就不是一個(gè)類。而是一個(gè)類代了點(diǎn)參數(shù)。

    不過(guò)可以斷定他就是上圖顯示的view了。

    在看看上面那個(gè)擴(kuò)展點(diǎn)

    <extension

    ???????? point="net.sourceforge.eclipsespring.beanFactoryContributors">

    ????? <beanFactoryContributor

    ??????????? class="net.sourceforge.eclipsespring.example.spring.BeanFactoryContributor"

    ??????????? id="example"/>

    ?? </extension>

    這個(gè)擴(kuò)展點(diǎn)干嗎用的啊。嗯是一個(gè)問(wèn)題。

    插件文件下面除了一個(gè)plugin.xml文件外。還有一個(gè)bean.xml的文件。
    springdiagram.jpg

    這下一看,明白了她就一個(gè)spring需要的配置文件。并包括了對(duì)view的申明。

    net.sourceforge.eclipsespring.beanFactoryContributors這個(gè)名字可以看出他是對(duì)beanFactory做了一個(gè)擴(kuò)展。

    去這個(gè)類看一下,是怎么回事。

    只是發(fā)現(xiàn)了
    getresource.jpg
    一看可以知道。它在這里初始化了spring的配置文件。
    這個(gè)插件項(xiàng)目的整個(gè)類圖為
    classes.jpg

    稍微回顧一下。在一個(gè)plugin中要有BeanFactoryContributor,spring配置文件合上net.sourceforge.eclipsespring插件就可以使用spring了。

    關(guān)于在這個(gè)過(guò)程中beanFactory如何創(chuàng)建,和擴(kuò)展點(diǎn)如何被調(diào)用。我會(huì)在下一篇里說(shuō)明。今天想睡了,雖然有點(diǎn)早。呵呵
    posted on 2006-03-23 22:18 Jet Geng 閱讀(3999) 評(píng)論(0)  編輯  收藏 所屬分類: Eclipse
    主站蜘蛛池模板: 99re6免费视频| 亚洲阿v天堂在线2017免费| 亚洲一卡2卡3卡4卡5卡6卡| 国产午夜鲁丝片AV无码免费| 免费的黄色的网站| 亚洲国产一区在线| 日本一区二区三区日本免费| jyzzjyzz国产免费观看| 亚洲国产情侣一区二区三区| 午夜亚洲福利在线老司机| 久久久久免费精品国产小说| 亚洲中文字幕一二三四区| 亚洲午夜久久久久久噜噜噜| 青娱乐免费在线视频| gogo免费在线观看| 亚洲情A成黄在线观看动漫软件 | 97国产在线公开免费观看| 亚洲欧美第一成人网站7777| 亚洲国产精品无码专区影院| 国内自产少妇自拍区免费| 久久久久久久岛国免费播放| 激情小说亚洲图片| 亚洲乱码日产精品BD在线观看| 国产精品亚洲不卡一区二区三区| 国产乱码免费卡1卡二卡3卡| 韩国免费A级毛片久久| 亚洲av日韩av永久无码电影 | 亚洲高清日韩精品第一区| 亚洲av午夜精品一区二区三区| 4399影视免费观看高清直播| 一区二区三区免费视频网站| 99久久国产亚洲综合精品| 久久久婷婷五月亚洲97号色| 91麻豆国产自产在线观看亚洲 | 亚洲av高清在线观看一区二区| 免费精品国产自产拍在线观看图片| 青柠影视在线观看免费| 免费国产黄网站在线观看动图| 亚洲综合精品成人| 亚洲黄色激情视频| 亚洲成av人片不卡无码|