9

için 2.0/2.1 Çal Biz yeni Çal 2,0 projemiz var ve biz bazı karmaşık 3. parti entegrasyon kodu eklemek olarak DI tanıtmak planlıyoruz.Java ve bağımlılık enjeksiyon

Oynat 2.0 için bir Guice eklentisi var ama 2.1 de eskimiş olacak ve 2.1 o kadar artık olmadığını Bir tahminim var gibi görünüyor.

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

Guice Oynat 2.0/2.1 veya diğer seçenekler düşünmelisiniz için güvenli bir bahis var mı?

+0

oyun eklentisi nedir? –

cevap

9

ben 2.1 sürümü ile gitmek ve Global nesneden yeni denetleyici instanciation ederim.

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

    } 

Sen özel @ ile bu kontrolörler için özel bir rota beyan etmek zorunda: Burada

bir Guice doc gelen örnektir

GET /myUrl  @controllers.MyController.myMethod() 

Ve ayrıca bir göz atabilirsiniz Bahar kullanarak bu demo at: https://github.com/guillaumebort/play20-spring-demo