我正在分析使用带有 Play 2.1 的 Spring 框架来支持 DI。除了 DI,我还可以在 Play 2.1 中使用 spring 的 AOP 拦截器、事务、DAO 和 REST 支持吗?我不确定这是否是正确的方法。如果不是,用 Play 处理这些事情的最佳方法是什么? Play 在这些方面是否有任何内置支持,或者我是否需要使用单独的库,如 AspectJ、Guice、Jersey 等?
最佳答案
是的,您可以将 Spring 与 Play Framework 集成。几周前我在一个项目中做到了。正如 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 编写了网络客户端。
关于spring - 用 Spring 玩框架 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17399649/