Wie funktioniert @Inject in Scala?

8

Ich frage mich, wie @ Annotation in Play-Scala funktioniert. Es bringt offensichtlich eine Abhängigkeit, aber ich bin neugierig, wie es funktioniert. Wenn ich es auf Klassenerweiterungssteuerpult verwendete und routes Generator zu injecoutesgenerator einstellte, scheint es, Gegenstände von diesen Klassen autmatisch zu verursachen, aber wie benutze ich es in anderem Kontext?

Ich habe es versucht:

%Vor%

Aber das scheint nicht zu funktionieren. Gibt es irgendwelche Möglichkeiten @ Dinge (das mailerClient, WS usw.) direkt auf einen Wert, nicht auf die Controller-Klasse zu setzen?

    
Haito 20.06.2015, 09:39
quelle

1 Antwort

6

Sieht eng aus. Ändern Sie val in var , weil es nicht final ist und zu einem späteren Zeitpunkt injiziert werden muss.

%Vor%

Ich würde auch überprüfen, dass die MailerClient -Bibliothek als eine Abhängigkeit in der Projektkonfiguration erwähnt wird. Sie könnten stattdessen mit WSClient versuchen, da es standardmäßig in der Vorlage enthalten ist:

%Vor%

Besonders, weil ich weiß, dass dieses besondere funktioniert.

Aktualisieren

Es wurde eine Demo auf GitHub erstellt, bei der es sich um die Play-Scala Vorlage mit der index Methode handelt wie folgt:

%Vor%     
bjfletcher 20.06.2015, 23:45
quelle