2010-07-07 2 views
3

Чтобы использовать GWT-депешу мы создаем объект, как:Gwt-диспетчерская инъекции

private static final DispatchAsync dispatchAsync = GWT.create(DefaultDispatchAsync.class); 

Есть ли способ сделать это с помощью инъекций, я имею в виду, как вводить этот DispatchAsync объект в другие классы, где нам нужно используй это.

Это что-то связанное с @Inject аннотация!

ответ

7

Да, вы можете использовать Gin для ввода интерфейса отправки с помощью аннотации @Inject.

Прежде всего вам нужно настроить привязку Gin для интерфейса DispatchAsync для реализации в вашем Gin ClientModule.

bind(DispatchAsync.class).to(DefaultDispatchAsync.class).in(Singleton.class); 

Как только это будет сделано, вы можете заставить Джин вводить диспетчер в свои конструкторы.

class foo { 
    private final DispatchAsync dispatcher; 

    @Inject 
    public foo(final DispatchAsync dispacher) { 
     this.dispatcher = dispatcher; 
    } 
} 
+2

Я узнал, что (с GWT-диспетчерский 1.1.0), вы также можете иметь следующие в вашем Ginjector: '@GinModules ({MyGinModule.class, StandardDispatchModule.class})', где 'StandardDispatchModule.class '- класс gwt-dispatch, обеспечивающий стандартное связывание для' DispatchAsync'. Затем вы можете ввести 'DispatchAsync' в конструктор классов, нуждающихся в этом. – MarcoS

Смежные вопросы