播放2.0 / 2.1 for Java和dependency injection

我们有一个新的Play 2.0项目,我们计划在添加一些复杂的第三方集成代码时引入DI。

有一个适用于Play 2.0的Guice插件,但看起来它在2.1时已经过时了,我有一种预感2.1不再那么远了。

https://github.com/typesafehub/play-plugins/tree/master/guice

Guice是Play 2.0 / 2.1的安全赌注,还是我们应该考虑其他选择?

我将使用2.1版本,以及来自Global对象的新控制器实例化。

这是来自doc的Guice示例:

import play.GlobalSettings; import com.google.inject.Guice; import com.google.inject.Injector; public class Global extends GlobalSettings { private static final Injector INJECTOR = createInjector(); @Override public  A getControllerInstance(Class controllerClass) throws Exception { return INJECTOR.getInstance(controllerClass); } private static Injector createInjector() { return Guice.createInjector(); } } 

您必须使用特殊的@声明这些控制器的特殊路径:

 GET /myUrl @controllers.MyController.myMethod() 

您还可以使用Spring查看此演示: https : //github.com/guillaumebort/play20-spring-demo