Question

J'ai un classeur différé personnalisé (implémentation de rebind) qui instancie les objets.Je voudrais avoir des dépendances (méthodes de définition annotées @Inject) dans l'instance retournée par GWT.create () remplies par GIN.Est-ce possible?

Donc, un code donné tel que:

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

si l'implémentation finale de foo a:

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

Comment puis-je faire injecter automatiquement la barre dans l'instance foo retournée par GIN?

Était-ce utile?

La solution

Votre Ginjector peut avoir des méthodes ajoutées dans le but d'injecter des objets créés d'une autre manière.Ceux-ci doivent prendre un argument et doivent spécifier le type le plus spécifique possible.Par exemple, si MyViewImpl étend BaseView et que les deux types ont des dépendances à injecter, mais que vous déclarez

void injectBaseView(BaseView view);

dans votre ginjector, seuls les champs / setters déclarés sur BaseView seront traités.

EDIT: De plus, si aucune liaison n'est déclarée, GWT.create sera utilisé pour créer une instance, afin que vous puissiez avoir votre gâteau et le manger.Pour autant que je me souvienne, une exception à cela est lorsque vous voulez GWT.create un type, mais renvoyer un autre (voir les interfaces RPC pour un exemple).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top