Pregunta

Tengo una carpeta diferida personalizada (implementación de Rebind) que instanciona objetos. Me gustaría tener algunas dependencias (@Inject Annotated Setter Methods) dentro de la instancia devuelta por GWT.Create () cumplidas por GIN. es posible?

Entonces, un código dado como:

Foo foo = GWT.create(Foo.class);

Si la implementación final de Foo tiene:

@Inject
public void setBar(Bar bar) {
    ...
}

¿Cómo puedo inyectar la barra en la instancia de Foo devuelta automáticamente por Gin?

¿Fue útil?

Solución

Su ginjector puede tener métodos agregados con el fin de inyectar objetos creados de alguna otra manera. Estos deben tomar un argumento y deben especificar el tipo más específico posible. Por ejemplo, si MyViewImpl extiende BaseView, y ambos tipos tienen dependencias para inyectar, pero usted declara

void injectBaseView(BaseView view);

En su ginjector, solo se tratarán los campos/setters declarados en BaseView.

EDITAR: Además, si no se declara vinculación, Gwt.Create se usará para crear una instancia, para que pueda tener su pastel y comerlo. Una excepción a eso, por lo que puedo recordar, es cuando desea GWT.Create un tipo, pero devuelve otro (consulte las interfaces RPC para un ejemplo).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top