Guice - Ohne injector.getInstance

N

Newbie0815

Gast
Hallo,
ich möchte ein Anwendung bestehen die aus mehreren Modulen besteht. Allerdings läuft diese ohne ServletContainer. Jetzt habe ich viel über GUICE gelesen stoße aber immer wieder auf ein Problem das ich eigentlich nicht haben möchte.. In der Main steht zum Beispiel immer folgendes:

Java:
public static main(String[] args) {
    MyModule module = new  MyModule();  
    Injector anotherInjector = Guice.createInjector(module);  

    Customer customer = anotherInjector.getInstance(Customer.class);  
    customer.changeSomething();  
}
Nun möchte ich Guice zwar einmalig bei Start mit dem Module konfigurieren, aber im späteren Verlauf die Objekte nicht jedes mal mit "injector.getInstance" abfragen sondern möchte das dies automatisch beim Zugriff auf Objekte geschieht. Ich möchte also nur einmal beim Starten der Anwendung den Injector instanzieren und anschließend in allen weiteren Objekten automatisch die per Annotation nötigen Klassen injeziert bekommen. Ist dies möglich? Soweit ich es verstanden habe macht das Playframework mit Guice genau dies, aber wie? Play framework - guice

Ich wäre für jeden Tipp sehr dankbar!
 
G

Gelöschtes Mitglied 6946

Gast
Zumeist werden Felder von Objekten injiziert (vie Konstruktor, Setter oder direkt). Das geschieht dann, wenn es gezielt aufgerufen wird (injector.inject oder sowas) oder wenn das Objekt selber von Guice benötigt wird. Wenn du also ein Objekt weit oben in deiner Objekt-Hierarchie hast (nicht Klassen-Hierarchie) und das von Guice erstellen lässt, dann löst es die Abhängigkeiten aus, die du per @Inject festgelegt hast, holt sich die Klassen bzw. instanziiert sie usw. An dem Punkt, an dem du allerdings dein eigenes Objekt erzeugst oder es manuell irgendwo her holst, geht das nicht mehr (und auch dein minimales Beispiel geht wohl nicht anders). Anderenfalls hast du ein Objekt, in dem du ein Customer-Objekt brauchst und das kannst du dort als Feld angeben und injizieren, dann musst du das nicht explizit holen. Dann musst du allerdings das Objekt injizieren oder es muss selber durch Guice zur Verfügung gestellt werden.

Ich glaube, ich hab das kein bisschen rüberbringen können. Mein Text ist quasi s*****e :D Aber ich habe grad keinen Plan, wie ich das besser formuliere. Lies dich im Zweifelsfall einfach mal tiefer in die Materie ein, Tutorials erklären das bestimmt besser. Oder vielleicht habe ich dein Problem auch missverstanden...
 
T

Tomate_Salat

Gast
Guice ist ein DI-Framework und macht genau das, was du benötigst/willst. Die Objekte die du brauchst, lässt du dir injecten und brauchst somit eigentl. keinen Aufruf von [c]new[/c] mehr. Ein kleines Tutorial zu Guice findest du übrigens auch hier im Forum:
http://www.java-forum.org/blogs/the_29/29-dependency-code-injection-google-guice.html
[edit]
ok. Habe mir nochmal das tutorial angeschaut von the_29. Es geht hier leider nicht auf das ein, nachdem du gefragt hast. Es bleibt dir aber immernoch der Link zum Wiki von Guice
[/edit]

Auf der Seite von Guice gibt es ein recht großes Wiki, das du mal anschauen kannst.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Compiler-Fehler Google Guice Module zur Laufzeit zusammenstellen und binden Allgemeine Java-Themen 4
L Guice Dependency Injection Allgemeine Java-Themen 0
L Google Guice Field Injection returns null Allgemeine Java-Themen 2
I WebSockets mit Jersey und Guice Allgemeine Java-Themen 0
T GUICE- Dependency Injection- WANN nutze ich Providers? Allgemeine Java-Themen 2
M Google Guice (Assisted Injects) - Buggy oder mach ich's falsch? Allgemeine Java-Themen 5
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
F rekursiver Aufruf (Sudoku und Guice) Allgemeine Java-Themen 19
Landei Guice - Injection von "zwischendurch" erzeugten Objekten Allgemeine Java-Themen 4
F DI @SesionScoped Guice Allgemeine Java-Themen 4
Jay_030 Guice + Hibernate = Probleme? Allgemeine Java-Themen 2
Jay_030 Guice: Injector übergeben? Allgemeine Java-Themen 3
Jay_030 Guice: Frage im Umgang mit Unit-Tests Allgemeine Java-Themen 4
DamienX Google Guice AOP + Logging Allgemeine Java-Themen 3
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
O Maven ein externes jar laden ohne die Applikation neu zu kompilieren Allgemeine Java-Themen 4
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
N mit sysout, ohne sysout Allgemeine Java-Themen 17
O Programmierprüfung auf moodle ohne Hilfsmittel... Allgemeine Java-Themen 23
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
M Switches ohne String Allgemeine Java-Themen 18
A Java JDK ohne Oracle Konto Allgemeine Java-Themen 5
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
A Java ListNode Element einfügen ohne Bibliothek Allgemeine Java-Themen 6
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
N Keylistener ohne Dazugehörige Gui Allgemeine Java-Themen 6
P Input/Output entfernte Datei mit Java öffnen ohne Download Allgemeine Java-Themen 5
Kirby.exe Keyboard Input ohne Enter Allgemeine Java-Themen 43
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S Potenzieren mit rationalen Potenzen ohne Math.pow Allgemeine Java-Themen 16
F Timestamp in Oracle ohne Formatierung reinbekommen Allgemeine Java-Themen 7
M Drucken ohne Dialog Allgemeine Java-Themen 1
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
S Input/Output Jave.utill.logging ohne Default-Locale also in Englisch Allgemeine Java-Themen 3
J ftp - delete file ohne appache Allgemeine Java-Themen 8
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
offi Excel mit Inhalten aus DB öffnen ohne zu speichern Allgemeine Java-Themen 8
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
Aruetiise Swing JOptionPane ohne denn Thread zu pausieren Allgemeine Java-Themen 1
RalleYTN Audiolänge einer MP3 Datei erhalten ohne diese vollständig zu laden Allgemeine Java-Themen 15
RalleYTN 2D-Grafik Bild ohne AWT, Swing und JavaFX rotieren Allgemeine Java-Themen 12
A BufferedReader ohne System.in Allgemeine Java-Themen 9
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
B Applikation ohne (direkt)Java installiert zu haben auszuführen Allgemeine Java-Themen 8
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
OnDemand JavaMail ohne Anhang senden Allgemeine Java-Themen 4
N String ins Clipboard kopieren ohne makieren. Allgemeine Java-Themen 12
T Ziffernsumme ohne String Operatoren Allgemeine Java-Themen 4
E Threads Ausführung in Threads ist langsamer als ohne Threads Allgemeine Java-Themen 13
R NullPointerException Ohne Grund Allgemeine Java-Themen 5
RalleYTN JPEG mit CMYK(ohne JAI oder TwelveMonkeys!) Allgemeine Java-Themen 0
P Zwei ArrayLists: Ohne die eine überhaupt anzurühren, wird sie verändert Allgemeine Java-Themen 2
HarleyDavidson Input/Output Heruntergeladene Datei direkt nach dem Download öffnen ohne zu speichern Allgemeine Java-Themen 1
Y String to Double ohne ParseDouble Allgemeine Java-Themen 11
S Methoden ohne Methodenkopf ?! Allgemeine Java-Themen 5
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
A Konstrukt ohne Main für Xml-Parser Allgemeine Java-Themen 1
S Performante Visualisierung groẞer Datenmengen (ohne JFreeChart) Allgemeine Java-Themen 22
M Permutation ohne Wiederholung mit rekursion Allgemeine Java-Themen 4
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
F File.listFiles ohne .sort Allgemeine Java-Themen 6
H Unicode ausgeben ohne Umwandlung - geht das? Allgemeine Java-Themen 3
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
R Wie schaffe ich es, dass java zB 100 zählt ohne ständig "else if" hinschreiben zu müssen? Allgemeine Java-Themen 7
T Zwei Wortendungen vergleichen ohne .equals Allgemeine Java-Themen 10
J Array ohne vorher festgelegte Länge oder Wie wandle ich Zahlen in Zahlen mit anderen Basen um? Allgemeine Java-Themen 6
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18
T Programm bleibt ohne Fehler stehen Allgemeine Java-Themen 4
J log4j ohne propertiedatei Allgemeine Java-Themen 4
D Classloader ohne Package Allgemeine Java-Themen 10
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
K print() geht nicht ohne println() Allgemeine Java-Themen 3
S KeyListener ohne Focus - Wie? Allgemeine Java-Themen 2
Rudolf JUnit4-Testklasse erweitern ohne zu vererben Allgemeine Java-Themen 6
W Passwort Clientseitig sicher ablegen ohne Hash Allgemeine Java-Themen 2
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
A Java ohne Java-Installation? Allgemeine Java-Themen 5
H Apache POI HSSF - Farbe/Rahmen etc. ohne Style-Vorlage? Allgemeine Java-Themen 4
E KeyListener ohne GUI Allgemeine Java-Themen 6
Guybrush Threepwood Pattern gesucht: Punkt ohne Leerzeichen dahinter Allgemeine Java-Themen 3
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
K Vererbung ohne Basisklasse zu kennen Allgemeine Java-Themen 20
B File umbennen ohne Extension zu aendern Allgemeine Java-Themen 2
J Laden von JAR Files geht ohne ADMIN Rechte sehr langsam Allgemeine Java-Themen 6
A Methoden ohne Referenzen finden Allgemeine Java-Themen 9
P Tastatur abfrage ohne KeyListener Allgemeine Java-Themen 3
L JAR verändern - JAVAC soll einfach nur kompilieren, ohne Prüfungen Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben