那么你仍然可以使用Spring-DM,即使是“老”1.2.1,尽管我真的建议切换到Blueprint,但它只能在OSGi上顺利运行,与Spring本身并没有多大差别。特别是因为你想在你的bean上做交易。 我最喜欢的设置是带有OpenJPA的Blueprint(Aries或Gemini),它在OSGi环境中效果最佳。
这里如何与白羊座蓝图
<bean id="myDao" class="my.project.dao.jpa.MyJpaDao">
<jpa:context property="em" unitname="persistenc-unit" />
<tx:transaction method="*" value="Required" />
</bean>
做到这一点随着你能做出这个类的任何方法交易一个简单的示例。 我通常将这些DAO对象保存在一个单独的包中,只包含我的实体类和DAO。为了让我的应用程序,这些DAO中的保持我注册为服务
<service id="myDAO" ref="myDao" interface="my.project.dao.MyDao" />
现在,你仍然可以做一个“软” transferal到与该蓝图。 如果你把你的实体单独存放在一个额外的包中,就像我一样,你只需要引用你的Spring的DAO服务(与Spring-DM一起使用,在这种情况下,它重新推荐使用spring-dm 1.2.1,否则会遇到非常糟糕的问题),然后从你的std开始。春季应用。这是OSGi的真正优点,您可以根据需要混合使用所有这些服务框架。
看看这个:http://stackoverflow.com/questions/8039931/how-to-use-a-spring-bean-inside-a-osgi-bundle –