2013-07-01 66 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,但我首先會考慮您是否真的需要它。