Bei der Definition Scala Controller es eine Klasse als Singleton markieren die @Singleton Annotation verwenden:@Singleton in Scala spielt Rahmen
@Singleton
class Application
https://docs.oracle.com/javaee/7/api/javax/inject/Singleton.html Singletons definiert als ‚eine Art identifiziert, dass der Injektor nur einmal instanziiert. Nicht geerbt. also spielt Scala das Abhängigkeitsinjektions-Framework, das auf Java-Abhängigkeitsinjektion setzt?
Von https://www.playframework.com/documentation/2.5.x/ScalaDependencyInjection 'Play unterstützt sowohl die Laufzeitabhängigkeitsinjektion basierend auf JSR 330 (auf dieser Seite beschrieben) als auch die Kompilierungszeitabhängigkeitsinjektion in Scala.' Verwendet @Singleton unter Verwendung von 'Abhängigkeitsinjektion basierend auf JSR 330', um 'Compilierungszeitabhängigkeitsinjektion in Scala' zu verwenden, was ist erforderlich?
also kann nicht Objektparameter anstelle von Klassenparametern deklarieren Objekt statt Klasse zu verwenden? Kompilierzeit DI scheint mächtiger als Laufzeit, ist Grund, Runtime-DI-Leichtigkeit der Einrichtung und Konfiguration zu verwenden? –
@ blue-sky Was ist 'Objektparameter'? Sowieso. Es ist etwas peinlich, '@ singleton' statt' object' zu verwenden, obwohl es nicht zu lange dauert, um es zu benutzen. Laufzeit DI wurde besser lose Kopplung und Testbarkeit, aber weniger typisiert. – suish
kann also ein Scala-Objekt als Singleton anstelle von Singleton-Annotation verwendet werden? Mit 'Objekt-Parameter' meinte ich, wenn man ein Scala-Objekt benutzt (also keine Singleton-Annotation benutzt), 'fooService: FooService' in das Scala-Objekt statt in die Scala-Klasse –