2013-07-01 67 views
3

我正在分析如何使用Spring框架与Play 2.1来支持DI。除DI之外,我还可以使用Spring 2.1的AOP拦截器,交易,DAO和REST支持吗?我不确定这是否是正确的方法。如果不是,Play的最佳处理方法是什么? Play在这些领域是否有内置的支持,还是需要像AspectJ,Guice,Jersey等单独的库一起去?弹出框架2.1与弹出

+0

你需要更多的帮助吗? – benjiman

回答

3

是的,你可以将Spring与Play框架集成。几周前我做了一个项目。如Pere Villega链接的教程所示,可以通过扩展GlobalSettings轻松实现。这种方式也适用于其他DI解决方案,如Guice(as shown here)。据我所知,目前在Play 2.x中DI没有本地解决方案。当然你也可以使用Spring提供的其他功能,比如他们的DAO支持或者事务管理(但是这可能需要进一步的配置)。我们甚至使用了Spring Data的MongoDB支持。

只是一些个人说明:我非常喜欢用于构建典型Java MVC web应用程序的Play Framework,但是我发现它仅适用于构建API。因此,如果您还使用Play来编写您的Web客户端,则提供的路由和模板效果非常好,并为您提供了一个良好的开端。然而,对于纯粹的REST服务,我最终使用了JAX-RS(在Jersey上),一些基本的Spring组件和Jetty。然后,我们使用Backbone,Node和Airbnb的Rendr完全使用JavaScript编写Web客户端。

1

Play有它自己的方式来管理REST,事务(取决于使用的JPA库)和拦截器。

您可以将其与Spring集成,请参阅this demo in github,但我首先会考虑您是否真的需要它。