Pet*_*rta 9 java dependency-injection guice playframework-2.0 playframework-2.1
我们有一个新的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> A getControllerInstance(Class<A> controllerClass) throws Exception {
return INJECTOR.getInstance(controllerClass);
}
private static Injector createInjector() {
return Guice.createInjector();
}
}
Run Code Online (Sandbox Code Playgroud)
你必须为这些控制器声明一个特殊的路由,特殊的@:
GET /myUrl @controllers.MyController.myMethod()
Run Code Online (Sandbox Code Playgroud)
您还可以使用Spring查看此演示:https://github.com/guillaumebort/play20-spring-demo
| 归档时间: |
|
| 查看次数: |
2589 次 |
| 最近记录: |