Spring Framework Learning (2) Abhängigkeitsinjektion
Das Spring Framework bietet uns drei Injektionsmethoden: Set-Injektion, Konstruktor-Injektion und Schnittstellen-Injektion. Eine Schnittstelleninjektion ist nicht erforderlich. Die ersten beiden Methoden werden im Folgenden vorgestellt.
1, Injektion festlegen
Verwenden Sie zum Initialisieren die Set-Methode des Attributs, die als Set-Injektion bezeichnet wird.
1) Weisen Sie allgemeinen Zeichentypen Werte zu.
public class User{ privateString username; publicString getUsername() { returnusername; } publicvoid setUsername(String username) { this.username= username; } }
Wir müssen nur die Set-Methode des Attributs bereitstellen und dann zur Eigenschaftendatei gehen, um sie zu konfigurieren, damit das Framework das Beans-Tag der Datei applicationContext.xml finden kann. Bean-Tag zu Tag-Beans hinzufügen,
ID und Klassenwert angeben, ID-Wert ist nicht erforderlich, Klassenwert ist der vollständige Pfad, in dem sich das Objekt befindet. Fügen Sie dem Bean-Tag das Tag property
hinzu. Der Namenswert muss mit dem entsprechenden Eigenschaftsnamen in der Benutzerklasse übereinstimmen. Der Wertwert ist der Wert, den wir dem Benutzernamenattribut in der Benutzerklasse zuweisen möchten.
<bean id="userAction"class="com.lsz.spring.action.User" > <property name="username" value="admin"></property> </bean>
2) Weisen Sie dem Objekt einen Wert zu
Stellen Sie außerdem die Set-Methode des Objekts bereit
public class User{ private UserService userservice; public UserServicegetUserservice() { returnuser; } public void setUserservice(UserService userservice){ this.userservice= userservice; } }
Fügen Sie in der Konfigurationsdatei die Bean-Label-Deklaration von UserService hinzu und die Referenz des Benutzerobjekts auf UserService.
<!--对象的声明--> <bean id="userService" class="com.lsz.spring.service.UserService"></bean> <bean id="userAction"class="com.lsz.spring.action.User" > <property name="userservice" ref="userService"></property> </bean>
Mit dieser Konfiguration fügt das Framework das UserService-Objekt in die User-Klasse ein.
3) Weisen Sie der Listensammlung Werte zu
stellt auch die Set-Methode bereit
public class User{ privateList<String> username; publicList<String> getUsername() { returnusername; } publicvoid setUsername(List<String> username) { this.username= username; } }
<bean id="userAction"class="com.lsz.spring.action.User" > <propertyname="username"> <list> <value>zhang,san</value> <value>lisi</value> <value>wangwu</value> </list> </property> </bean>
4) Weisen Sie den Feldern in der Eigenschaftendatei Werte zu
public class User{ privateProperties props ; publicProperties getProps() { returnprops; } publicvoid setProps(Properties props) { this.props= props; } }
<bean> <propertyname="props"> <props> <propkey="url">jdbc:oracle:thin:@localhost:orl</prop> <propkey="driverName">oracle.jdbc.driver.OracleDriver</prop> <propkey="username">scott</prop> <propkey="password">tiger</prop> </props> </property> </bean>
Der Schlüsselwert im
Hinweis:
Egal welcher Wert zugewiesen ist, der Name Der Attributwert des
2 Konstruktorinjektion
1) Der Konstruktor hat einen Parameter
public class User{ privateString usercode; publicUser(String usercode) { this.usercode=usercode; } }
<bean id="userAction"class="com.lsz.spring.action.User"> <constructor-argvalue="admin"></constructor-arg> </bean>
2) Wenn der Konstruktor zwei Parameter hat
Wenn der Parameter nicht vorhanden ist Bei Verwendung des String-Typs muss der Typ in der Konfigurationsdatei angegeben werden. Wenn der Typ nicht angegeben ist, wird der Wert entsprechend dem String-Typ zugewiesen.
Wenn die Parametertypen inkonsistent sind, sucht das Framework nach dem Typ der Zeichenfolge, sodass der Speicherort des Parameters in der Konfigurationsdatei angegeben werden muss
<constructor-argvalue="admin"index="0"></constructor-arg> <constructor-argvalue="23" type="int"index="1"></constructor-arg>
Dies wird im Konstruktor angegeben. 1. Der erste Parameter ist vom Typ String und der zweite Parameter vom Typ int.
Das Obige ist der Inhalt der Abhängigkeitsinjektion von Spring Framework Learning (2). Inhalt, achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Als Branchenführer bietet Spring+AI durch seine leistungsstarke, flexible API und erweiterte Funktionen führende Lösungen für verschiedene Branchen. In diesem Thema werden wir uns mit den Anwendungsbeispielen von Spring+AI in verschiedenen Bereichen befassen. Jeder Fall wird zeigen, wie Spring+AI spezifische Anforderungen erfüllt, Ziele erreicht und diese LESSONSLEARNED auf ein breiteres Anwendungsspektrum ausdehnt. Ich hoffe, dieses Thema kann Sie dazu inspirieren, die unendlichen Möglichkeiten von Spring+AI tiefer zu verstehen und zu nutzen. Das Spring-Framework hat eine mehr als 20-jährige Geschichte im Bereich der Softwareentwicklung, und seit der Veröffentlichung der Spring Boot 1.0-Version sind 10 Jahre vergangen. Nun kann niemand diesen Frühling bestreiten

Ich möchte den Anforderungstext ändern, bevor ich ihn an die angegebene URL weiterleite. Ändern Sie den Körper basierend auf der Dokumentation, die ich verwende: org.springframework.cloud.gateway.filter.factory.rewrite.modifyrequestbodygatewayfilterfactory. Beim Starten meines Servers schlägt der Server mit der folgenden Fehlerursache fehl: Element [spring.cloud.gateway.routes[0].filters[0].modifyrequestbody.class] ist nicht gebunden. \n\nVorgang:\

Dieser Artikel führt Sie durch die Abhängigkeitsinjektion, stellt die durch die Abhängigkeitsinjektion gelösten Probleme und ihre native Schreibmethode vor und spricht über das Abhängigkeitsinjektions-Framework von Angular. Ich hoffe, es wird Ihnen hilfreich sein!

Einführung in die Methode zur Verwendung der Abhängigkeitsinjektion (DependencyInjection) im Phalcon-Framework: In der modernen Softwareentwicklung ist die Abhängigkeitsinjektion (DependencyInjection) ein gängiges Entwurfsmuster, das darauf abzielt, die Wartbarkeit und Testbarkeit des Codes zu verbessern. Als schnelles und kostengünstiges PHP-Framework unterstützt das Phalcon-Framework auch die Verwendung von Abhängigkeitsinjektion zur Verwaltung und Organisation von Anwendungsabhängigkeiten. In diesem Artikel erfahren Sie, wie Sie das Phalcon-Framework verwenden

Einführung RESTful APIs sind zu einem integralen Bestandteil moderner WEB-Anwendungen geworden. Sie bieten einen standardisierten Ansatz für die Erstellung und Nutzung von Webdiensten und verbessern so die Portabilität, Skalierbarkeit und Benutzerfreundlichkeit. Im Java-Ökosystem sind JAX-RS und springmvc die beiden beliebtesten Frameworks zum Erstellen von RESTful-APIs. In diesem Artikel werfen wir einen detaillierten Blick auf beide Frameworks und vergleichen ihre Funktionen, Vor- und Nachteile, um Ihnen eine fundierte Entscheidung zu erleichtern. JAX-RS: JAX-RSAPI JAX-RS (JavaAPI für RESTful Web Services) ist ein von JavaEE entwickeltes Standard-JAX-RSAPI für die Entwicklung von REST

Vorteile der Integration von JavaJNDI mit Spring Die Integration von JavaJNDI mit dem Spring-Framework hat viele Vorteile, darunter: Vereinfachung der Verwendung von JNDI: Spring bietet eine Abstraktionsschicht, die die Verwendung von JNDI vereinfacht, ohne komplexen JNDI-Code schreiben zu müssen. Zentralisierte Verwaltung von JNDI-Ressourcen: Spring kann JNDI-Ressourcen zentral verwalten, um die Suche und Verwaltung zu erleichtern. Unterstützt mehrere JNDI-Implementierungen: Spring unterstützt mehrere JNDI-Implementierungen, einschließlich JNDI, JNP, RMI usw. Nahtlose Integration des Spring-Frameworks: Spring ist sehr eng in JNDI integriert und lässt sich nahtlos in das Spring-Framework integrieren. So integrieren Sie JavaJNDI mit dem Spring-Framework, um Ja zu integrieren

In Go wird der Abhängigkeitsinjektionsmodus (DI) durch die Übergabe von Funktionsparametern implementiert, einschließlich der Übergabe von Werten und Zeigern. Im DI-Muster werden Abhängigkeiten typischerweise als Zeiger übergeben, um die Entkopplung zu verbessern, Sperrenkonflikte zu reduzieren und die Testbarkeit zu unterstützen. Durch die Verwendung von Zeigern wird die Funktion von der konkreten Implementierung entkoppelt, da sie nur vom Schnittstellentyp abhängt. Durch die Zeigerübergabe wird auch der Overhead für die Übergabe großer Objekte reduziert, wodurch Sperrenkonflikte reduziert werden. Darüber hinaus erleichtert das DI-Muster das Schreiben von Komponententests für Funktionen mithilfe des DI-Musters, da Abhängigkeiten leicht simuliert werden können.

Eine eingehende Analyse der Architektur und Arbeitsprinzipien des Spring-Frameworks Einführung: Spring ist eines der beliebtesten Open-Source-Frameworks im Java-Ökosystem. Es bietet nicht nur leistungsstarke Funktionen für die Containerverwaltung und Abhängigkeitsinjektion viele weitere Funktionen, wie z. B. Transaktionen, AOP, Datenzugriff usw. Dieser Artikel bietet eine detaillierte Analyse der Architektur und Arbeitsprinzipien des Spring-Frameworks und erläutert verwandte Konzepte anhand spezifischer Codebeispiele. 1. Kernkonzepte des Spring-Frameworks 1.1IoC (Inversion of Control) Kern von Spring
