Einfaches Beispiel mit Guice Servlets

8

Ich weiß nicht, wie ich mit einem einfachen Beispiel vorgehen soll. Nach dem Lesen der Dokumentation habe ich Folgendes getan:

  • Richten Sie den guiceFilter
  • ein
  • hat einen Injektor erstellt und ein neues ServletModule in GuiceServletContextListener instanziiert und den Listener zur web.xml
  • hinzugefügt
  • gebundene serve("*.jsp").with(IndexController.class); in Servlets konfigurieren

Nachdem ich das getan habe, wie verwende ich die Abhängigkeitsinjektion? Nehmen wir an, ich habe eine index.jsp, IndexController.class (Servlet) und zwei Klassen namens Person and Order mit Person je nach Bestellung. Wie injiziere ich die Order-Abhängigkeit per Hand in den Person-Konstruktor und nachdem ich das getan habe, müsste ich eine Liste der Befehle dieser Person zurück an den Controller senden? Ich habe in der Vergangenheit Ninject mit ASP.NET MVC verwendet, und das war ziemlich einfach, aber ich bin sehr verwirrt, wie man sogar das einfachste DI-Beispiel mit Guice implementiert. Danke.

    
Robert 25.11.2011, 23:51
quelle

1 Antwort

20

Um zu beginnen, ist hier ein Beispiel, das einen Dienst eingibt, der eine Liste von Namen in einen Index-Controller zurückgibt. (Keine Tricks in diesem Beispiel, alles ist explizit.)

ListService interface definiert einen einfachen Dienst.

%Vor%

DummyListService bietet eine triviale Implementierung.

%Vor%

ListModule wires ListService für die Dummy-Implementierung.

%Vor%

GuiceServletContextListener implementation bildet ein Servlet zum Indexieren ab und erstellt ein ListModule wie oben.

%Vor%

IndexController setzt die Namen in den Anforderungsbereich (manuell) und leitet sie an eine JSP-Seite weiter.

%Vor%

Die JSP-Seite lädt die Namen (nur Fragment).

%Vor%     
Dave Newton 26.11.2011, 01:57
quelle