1. Was ist das Spring-Framework?
Spring ist ein leichtes IoC- und AOP-Container-Framework, das den Lebenszyklus von JavaBeans verwaltet. Es kann auch in Kombination mit dem Struts-Framework, dem Ibatis-Framework usw. verwendet werden.
2, Architekturübersicht
1) IoC (Inversion of Control) Inversion of Control, Umkehrung der Objekterstellungsverantwortung, im Frühjahr BeanFactory die Kernschnittstelle des IoC-Containers, verantwortlich für die Instanziierung, Lokalisierung, Konfiguration von Objekten in der Anwendung und die Herstellung von Abhängigkeiten zwischen diesen Objekten. XmlBeanFactory implementiert die BeanFactory-Schnittstelle und bildet Anwendungsobjekte und Abhängigkeiten zwischen Objekten durch Abrufen von XML-Konfigurationsdateidaten.
Im Frühjahr gibt es drei Injektionsmethoden: eine ist die eingestellte Injektion, eine ist die Schnittstelleninjektion und die andere ist die Konstruktorinjektion.
2) AOP-aspektorientierte Programmierung
AOP ist eine vertikale Programmierung. Wie in der Abbildung unten gezeigt, erfordern sowohl Unternehmen 1 als auch Unternehmen 2 eine gemeinsame Operation, anstatt jedem Unternehmen den gleichen Code hinzuzufügen Es ist besser, den Code erneut zu schreiben und die beiden Unternehmen diesen Code gemeinsam verwenden zu lassen.
Es gibt zwei Möglichkeiten, aspektorientierte Änderungen im Frühjahr zu implementieren: eine ist ein dynamischer Proxy und die andere ist CGLIB. Der dynamische Proxy muss eine Schnittstelle bereitstellen, und die CGLIB-Implementierung verfügt über Vererbung.
3. Warum das Spring Framework verwenden?
Vor der Verwendung des Spring Frameworks mussten wir Dao-Layer-Objekte in unserer Service-Schicht verwenden und ein neues Objekt in der Service-Schicht erstellen. Wie folgt:
//dao层对象 public class UserDao{ publicvoid insert(User user){} } //service层对象 public classUserService{ publicvoid insert(User user){ UserDaouserdao = new UserDao(); userdao.insert(user); } }
Bestehende Probleme: Abhängigkeiten zwischen Schichten.
Nach der Verwendung des Frameworks:
//dao层对象 public class UserDao{ publicvoid insert(User user){} } //service层对象 public classUserService{ privateUserDao userdao; publicUserDao getUserdao() { returnuserdao; } publicvoid setUserdao(UserDao userdao) { this.userdao= userdao; } publicvoid insert(User user){ userdao.insert(user); } }
Um das Dao-Layer-Objekt in der Service-Layer zu verwenden, muss es in der XML-Konfigurationsdatei konfiguriert werden. Wie das Objekt erstellt wird und wie die Beziehung aufgebaut ist Wird kombiniert, bleibt es dem Federgerüst überlassen.
4. Framework-Vorteile
Leichtes Container-Framework ist nicht aufdringlich
Die Verwendung von IoC-Containern erleichtert die Kombination direkter Beziehungen zwischen Objekten, schnittstellenorientierter Programmierung und reduzierter Kopplung
Aop kann Es ist einfacher, Funktionen zu erweitern und den OCP-Entwicklungsprinzipien zu folgen
Das erstellte Objekt ist standardmäßig ein Singleton und es besteht keine Notwendigkeit, den Singleton-Modus für die Verarbeitung zu verwenden
5 Funktionen basieren auf springspezifischen Funktionen, Abhängigkeiten und der Spring-Umgebung.
Das Obige ist der Inhalt des Spring Framework Learning (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!