首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Eclipse RCP与Spring、Hibernate0配置集成

2013-07-11 
Eclipse RCP与Spring、Hibernate零配置集成??图中:bundlecom.abc.def.lib.common:第三方jar包的统一管理,

Eclipse RCP与Spring、Hibernate零配置集成

?
?

图中:

bundle>=com.abc.def.lib.common:第三方jar包的统一管理,RCP中常用的jar包都在这边打包。当然,可以根据具体需要进行拆分;

bundle>=com.abc.def.properties:配置文件管理bundle,其可以动态读取Eclipse RCP的根目录下properties目录中的*.properties文件。新的业务Bundle也可以往此bundle中注册自己的properties文件。目录"%ECLIPSE_RCP_HOME%/properties/" 中的properties文件可供手动修改,如hibernate的数据库连接信息等;

bundle>=com.abc.def.lib.common:hibernate相关的jar包,依赖com.abc.def.lib.common 和 com.abc.def.properties两个bundle,MANIFEST.MF中增加:?Eclipse-BuddyPolicy: dependent

bundle>=com.abc.def.lib.spring:Spring相关的jar包和相关的类,依赖com.abc.def.lib.common、 com.abc.def.properties、com.abc.def.lib.hibernate三个bundle,MANIFEST.MF中增加:?Eclipse-BuddyPolicy: dependent

bundle>=com.abc.def.main:基础架构的入口bundle,这里进行RCP的初始化管理,依赖以上所有bundle。

?

RCP和SH的集成,很关键的一点就是上面红色字体标注部分,通过Eclipse的buddy机制实现bundle之间的双向访问。

?

bundle>=com.abc.def.lib.spring中,我修改覆盖了jar包中的org.springframework.util.ResourceUtils,避免Spring访问Annotation标注的Service类时找不到类的问题,具体可参见我以前的一篇文章《解决Spring的Component-scan和packagesToScan不支持Eclipse RCP问题》

?

Spring和Hibernate实现了真正的零配置,所有Entity和Service都通过Spring和Hibernate的Annotation直接定义。目前在bundle>=com.abc.def.lib.spring中,在DataSourceConfig类中,用Annotation定义了dataSource、sessionFactory、txManager等bean,其中,sessionFactory中,通过PackagesToScan设置了model的统一根节点:com.abc.def,只要在这个package(包括子包)下的Annotation定义的model,都将自动纳入到SH的管理。

?

bundle>=com.abc.def.main中,通过

? ? ? ApplicationContext appContext = new AnnotationConfigApplicationContext("com.abc.def");

得到ApplicationContext。

?

热点排行