spring - 用 Spring 玩框架 2.1

标签 spring rest transactions guice playframework-2.1

我正在分析使用带有 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/

相关文章:

java - Spring 将 ModelMap 模型属性传递给 JSP

php - 如何使用 REST api 更改 Moodle 中的用户图像

rest - ColdFusion 10 REST API : How to parse JSON in body of payload

sql - 具有多个更新的SQL Server事务,插入

mongodb - 文档DB和模拟ACID

java - 如何将事务获取到 @PostConstruct CDI bean 方法

java - Elasticsearch jar 下载不同的版本

java - 如何使用 map 项类型填充 Vaadin 网格

mysql - BatchingBatcher "JDBC driver did not return the expected number of row counts"上的奇怪 NPE

java - 通过 HTTP POST 上传文件