Beste Antwort
Derzeit befindet sich Spring MVC im Java-Technologie-Stack an der Spitze und wird häufig zum Erstellen von Enterprise Java-Anwendungen verwendet.
Spring MVC ist sehr gefragt und aktualisiert. Von Zeit zu Zeit veröffentlichen sie neue Versionen von Spring. Federsicherheit ist eine der besten Möglichkeiten, eine Anwendung zu schützen. Streben ist uralt. Es existiert jedoch immer noch, da die meisten Legacy-Anwendungen damit erstellt wurden. Aber kaum ein Entwickler würde sich heute für Struts entscheiden, um eine Anwendung zu erstellen.
Ihre Anforderung kann einfach erfüllt werden, indem Sie Folgendes verwenden: -Spring MVC: für REST-API, Client-Server-Modell, Service Oriented Architecure (SOA). -Spring-Sicherheit: Zum Sichern Ihrer Anwendung. -Hibernate- oder Spring-JDBC-Vorlage. (gehen Sie mit Hibernate): für die Datenbankbehandlung -MySQL für die Datenbank. -JUnit für Unit-Tests.
Antwort
Das Spring-Framework besteht aus einer Reihe von Modulen, von denen eines MVC Model View Controller unter Web Domain ist.
Betrachten Sie die folgende Vogelperspektive der Federmodule.
MVC: Sie können sehen, dass das Webmodul als MVC./Remoting bezeichnet wird. Dieses Modul besteht aus dem gesamten Kesselplattencode, der für die Entwicklung von Webanwendungen erforderlich ist. Dies umfasst die Bearbeitung von Anforderungen, HTTP-Methoden, URL-Zuordnungen, Ansichtsauflösern, JSP-Tag-Bibliotheken und Sitzungen. Siehe 22. Weitere Informationen finden Sie im Web MVC-Framework .
IOC – Inversion of Control: „Rufen Sie uns nicht an, wir rufen Sie an“
Hier kommt der schwierige Teil. Wie Sie sehen können, ist das IOC nicht Teil des obigen Moduldiagramms. IOC ist neben vielen anderen Dingen Teil des Spring Core-Moduls.
IOC steht über Spring hinaus. Es ist ein objektorientiertes Entwurfsprinzip, das die Abhängigkeit verringert, die Modularität erhöht und das Programm erweiterbar macht.
Wie Martin Fowler sagt, ist die Umkehrung der Steuerung das Prinzip, bei dem der Steuerungsfluss eines Programms invertiert wird: anstelle der Programmiersteuerung Im Ablauf eines Programms übernehmen die externen Quellen (Framework, Services, andere Komponenten) die Kontrolle darüber.
IOC löst die folgenden Entwurfsprobleme.
- Zum Entkoppeln der Ausführung
- Um ein Modul auf die Aufgabe zu konzentrieren, für die es entwickelt wurde.
- Um Module von Annahmen darüber zu befreien, wie andere Systeme das tun, was sie tun, und sich stattdessen auf c zieht sich zusammen.
- Um Nebenwirkungen beim Ersetzen eines Moduls zu vermeiden.
Kommen zu Spring IOC.
Spring IOC ist die Methode zur Implementierung von IOC im Frühjahr. IOC kann auf verschiedene Arten erreicht werden. In der Dokumentation heißt es:
Es handelt sich um einen Prozess, bei dem Objekte ihre Abhängigkeiten, dh die anderen Objekte, mit denen sie arbeiten, nur über Konstruktorargumente, Argumente für eine Factory-Methode oder Eigenschaften definieren, die für die Objektinstanz festgelegt wurden nachdem es von einer Fabrikmethode konstruiert oder zurückgegeben wurde. Der Container injiziert diese Abhängigkeiten, wenn er die Bean erstellt. Dieser Prozess ist im Grunde genommen die Umkehrung, daher der Name Inversion of Control (IoC), der Bean selbst, die die Instanziierung oder den Ort ihrer Abhängigkeiten durch direkte Konstruktion von steuert Klassen oder ein Mechanismus wie das Muster Service Locator .
Im Frühjahr org.springframework.beans
und org.springframework.context
enthält die Implementierung des IOC namens Spring IOC Container. Die Schnittstelle org.springframework.context.ApplicationContext
stellt den Spring IoC-Container dar und ist für das Instanziieren, Konfigurieren und Zusammenstellen der Objekte verantwortlich (im Frühjahr sind die Objekte Beans).
Durchlesen 7. Der IoC-Container und BeanFactory (Spring Framework 4.3.7.RELEASE API) für vollständige Details.