Als «dependency-injection» getaggte Fragen

Ein Entwurfsmuster zur Reduzierung der Kopplung zwischen Komponenten durch dynamisches Einfügen von Abhängigkeiten in Softwarekomponenten, die für die Funktion erforderlich sind.

9
Wie vermeide ich den Wahnsinn eines Abhängigkeitsinjektionskonstruktors?
Ich finde, dass meine Konstruktoren so aussehen: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) mit ständig wachsender Parameterliste. Da "Container" mein Abhängigkeitsinjektionscontainer ist, warum kann ich das nicht einfach so machen: public MyClass(Container con) für jede Klasse? Was sind die Nachteile? Wenn ich das mache, fühlt es sich an, …

17
Wie kann ich einen Eigenschaftswert in eine Spring Bean einfügen, die mithilfe von Anmerkungen konfiguriert wurde?
Ich habe ein paar Frühlingsbohnen, die über Anmerkungen vom Klassenpfad aufgenommen werden, z @Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted } In der Spring XML-Datei ist ein PropertyPlaceholderConfigurer definiert: <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="/WEB-INF/app.properties" /> </bean> Ich möchte eine der Eigenschaften von app.properites in …


23
Injizieren von Mockito verspottet eine Frühlingsbohne
Ich möchte ein Mockito-Scheinobjekt in eine Spring-Bohne (3+) injizieren, um sie mit JUnit zu testen. Meine Bean-Abhängigkeiten werden derzeit mithilfe der @AutowiredAnmerkung zu privaten Mitgliedsfeldern eingefügt. Ich habe überlegt ReflectionTestUtils.setField, die Bean-Instanz zu verwenden, die ich injizieren möchte, ist jedoch tatsächlich ein Proxy und deklariert daher nicht die privaten Mitgliedsfelder …

4
Dependency Inject (DI) "freundliche" Bibliothek
Ich denke über das Design einer C # -Bibliothek nach, die verschiedene Funktionen auf hoher Ebene haben wird. Natürlich werden diese Funktionen auf hoher Ebene so weit wie möglich unter Verwendung der SOLID- Klassenentwurfsprinzipien implementiert . Daher wird es wahrscheinlich Klassen geben, die von Verbrauchern regelmäßig direkt verwendet werden sollen, …

21
Benötige ich eine Abhängigkeitsinjektion in NodeJS oder wie gehe ich damit um?
Ich erstelle gerade einige experimentelle Projekte mit nodejs. Ich habe viele Java EE-Webanwendungen mit Spring programmiert und die einfache Möglichkeit der Abhängigkeitsinjektion dort geschätzt. Jetzt bin ich neugierig: Wie mache ich eine Abhängigkeitsinjektion mit einem Knoten? Oder: Brauche ich es überhaupt? Gibt es ein Ersatzkonzept, weil der Programmierstil anders ist? …

5
Wie kann man einem 5-Jährigen die Abhängigkeitsinjektion erklären? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …


19
ASP.NET Core Dependency Injection-Fehler: Dienst kann beim Aktivieren nicht nach Typ aufgelöst werden
Ich habe eine .NET Core MVC-Anwendung erstellt und mithilfe von Abhängigkeitsinjektion und Repository-Muster ein Repository in meinen Controller eingefügt. Ich erhalte jedoch eine Fehlermeldung: InvalidOperationException: Dienst für Typ 'WebApplication1.Data.BloggerRepository' kann nicht aufgelöst werden, während versucht wird, 'WebApplication1.Controllers.BlogController' zu aktivieren. Modell (Blog.cs) namespace WebApplication1.Models { public class Blog { public int …




5
Gibt es ein Muster zum Initialisieren von Objekten, die über einen DI-Container erstellt wurden?
Ich versuche, Unity dazu zu bringen, die Erstellung meiner Objekte zu verwalten, und ich möchte einige Initialisierungsparameter haben, die erst zur Laufzeit bekannt sind: Im Moment kann ich mir nur vorstellen, wie das geht, wenn ich eine Init-Methode auf der Schnittstelle habe. interface IMyIntf { void Initialize(string runTimeParam); string RunTimeParam …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.