社区编辑申请
注册/登录
在Eclipse RCP中使用Spring框架
开发 后端
本文向您介绍在Eclipse RCP程序中使用Spring,让Spring容器来管理我们RCP程序中的Beans。

很久就想了如何在Eclipse RCP程序中使用Spring。让Spring容器来管理我们RCP程序中的Beans。看到web项目中使用了spring后带来的好处(最直接的就是看到代码量少了)就一脸的憧憬。想我的好日子什么时候才会来啊。
有这个憧憬后我就开始考虑改如何做了。大家肯定都知道如果在Eclipse RCP程序中使用直接使用spring的beanfactory无论你是使用方式都会说找不到配置文件的。这个其中的原因是Eclipse 的每个插件都使用他们自己的类加载器(class load)

说明:Eclipse中类的详细的装载过程可以产考《Contributing to Eclipse 中文版》p44。

所以说能够正确的找到bean的配置文件成了一个难题。还有一个问题就是如何管理BeanFactory也是一个问题。既然提出了这两个问题,那就的一个一个的面对啊。***个问题的解决方式。只要通过一个插件中的类就可以获得。

我试了一下通过如下代码可以切换class load。最头疼的问题就是如何来管理spring的BeanFactory。如果在每个Plugin类的继承类里都加上对beanfactory的创建。想想都是很恶心的事情。就为这个事情一直停滞不前。搞的我快郁闷死掉了。

就在快死还没有死的时候看到了一个叫EclipseSpring项目(http://sourceforge.net/projects/Eclipse-spring/),专门为在Eclipse中使用Spring打造的。一看超爽。他直接把我想做的事情直接给做了。

下面我们就来看看一下他的发布包里代的那个例子。这个例子很简单。就只是提供了一个view。View里显示一个条问候语。

EclipseSpring项目中的View
EclipseSpring项目中的View

 呵呵,是不是很界面太简单了。这个我们就不说了。我们来说说他这个示例中到底是怎么实现的。

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

看看那个org.Eclipse.ui.view那个扩展点。是不是有点奇怪啊。他的类是net.sourceforge.Eclipsespring.SpringExtensionFactory:example/userNameView这个样子的。一言看上去就不是一个类。而是一个类代了点参数。

不过可以断定他就是上图显示的view了。

在看看上面那个扩展点

  1. <extension 
  2. point="net.sourceforge.eclipsespring.beanFactoryContributors"> 
  3. <beanFactoryContributor 
  4. class="net.sourceforge.eclipsespring.example.spring.BeanFactoryContributor" 
  5. id="example"/> 
  6. </extension> 

这个扩展点干吗用的啊。嗯是一个问题。

 

【编辑推荐】

  1. Eclipse 3.5新特性预览
  2. Spring定时器的两种实现方式
  3. 实例详解Spring JDBC事务管理
  4. 开发NetBeans Spring MVC基础入门
  5. MyEclipse+Weblogic开发EJB组件
责任编辑:佚名 来源: IT网
相关推荐

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-04-20 20:28:40

HDF 驱动框架鸿蒙操作系统

2022-04-30 08:43:52

Spring模块化框架

2022-05-11 15:08:52

驱动开发系统移植

2022-05-16 13:37:12

Sysrv僵尸网络微软

2022-04-13 08:00:00

Hilla开发Java

2022-05-16 10:36:08

GitHub开源项目

2022-04-26 08:41:54

JDK动态代理方法

2022-04-28 08:05:05

2022-04-01 15:18:04

HarmonyHDF 驱动鸿蒙

2022-05-11 08:23:54

自动化测试软件测试

2022-04-17 23:09:07

深度学习人工智能芯片

2022-05-16 11:50:45

HDF驱动框架

2022-04-06 08:29:26

Kafka通信中间件

2022-03-30 09:09:39

漏洞网络安全网络攻击

2022-05-17 08:39:05

VueViteTypeScript

2022-04-13 18:40:59

Python开发

2022-05-12 07:37:51

单点登录微服务开源

2022-05-09 16:33:03

EDR终端安全

2022-05-09 11:19:12

CSS函数开源

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号