我必须构建一个在Play Framework 2.1中集成Spring和Hibernate的Web应用程序。我成功集成了Hibernate,但我不知道如何处理Spring。 Anynone可以向我展示一个例子或方法来做到这一点。谢谢你的进步。
答案 0 :(得分:8)
现在在Play 2.1中使用getControllerInstance
拦截器非常容易。这是一个示例应用程序,它有Play 2.1,Spring(带有Java Config)和JPA:
https://github.com/jamesward/play2bars/tree/java-spring
答案 1 :(得分:0)
我推荐James Ward的回答。以下是从Spring Java 2.0 play app升级到2.1的一些信息。
在2.0.4中我使用了Spring4Play2依赖项,请参阅https://github.com/scott-phillips/Spring4Play2/blob/master/README.markdown但是在升级到2.1.1时我无法使用此功能,即使此模块的2.1-SNAPSHOT jar在{ {3}}
我得到的错误是“插件[play.api.db.BoneCPPlugin]无法实例化。”和“java.lang.IncompatibleClassChangeError:找到接口play.api.Application,但类是预期的”,谷歌搜索没有带来任何答案。
所以我继续看着James Ward的好例子,删掉了那个插件,然后添加了
“org.springframework”%“spring-context”%“3.2.1.RELEASE”,
到我的Build.scala,你可以在这里看到https://maven.library.tamu.edu/content/repositories/snapshots/play/spring_2.9.1/2.1-SNAPSHOT/
然后创建了类似于示例的Global.java类,这就是它。
我已经为遇到相同情况的人添加了这个答案,因此Google搜索错误消息可能会带来解决方案。
答案 2 :(得分:0)
我在Play 2中集成了spring(带有Hibernate),你可以看到一个例子(完整的工作源)和解释: http://serverbabyblog.wordpress.com/2014/03/26/activiti-on-play-2-with-spring-and-hibernate-jpa-example/
只需跳过所有内容,相对于" Activiti"框架。
基本上,我被迫抛弃了Play!的jpa和jdbc插件。 通过已知的开源三维方取代其功能。 没关系。 播放JPA插件的范围过于狭窄。
结果由Spring事务管理器管理的事务和整个示例使用spring JPA注释(使用Hibernate JPA)。这是一个跨平台的例子,因为你可以把所有的春天的东西都从游戏转移到其他框架。
祝你好运!