9

新しいPlay 2.0プロジェクトがあり、複雑なサードパーティの統合コードを追加するときにDIを導入する予定です。Java用のPlay 2.0/2.1と依存性注入

Play 2.0用のGuiceプラグインがありますが、2.1では廃止されているように見えますが、私は2.1がそれほど遠くないということがあります。

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

のGuiceはプレイ2.0/2.1または我々は他のオプションを検討すべきであるため安全な賭けですか?

+0

再生プラグインとは? –

答えて

9

私は2.1バージョンと、グローバルオブジェクトからの新しいコントローラのインスタンス化に行きます。ここで

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(); 
    } 

    } 

あなたは特別な@で、これらのコントローラのための特別なルートを宣言する必要があります。

GET /myUrl  @controllers.MyController.myMethod() 

をそして、あなたも見ることができますこのデモでSpringを使って:https://github.com/guillaumebort/play20-spring-demo