Struts, Hibernate und Spring sind in unserer Java-Entwicklung häufig verwendete Schlüssel. Sie bieten die am besten geeigneten Lösungen für verschiedene Anwendungsszenarien. Aber wissen Sie, wie diese bekannten Frameworks ursprünglich entstanden sind?
Empfohlener Kurs: Java-Tutorial.
Wir wissen, dass herkömmliche Java-Webanwendungen mit JSP+Servlet+Javabean implementiert werden. Dieses Modell implementiert die grundlegendste MVC-Schichtung, wodurch die Struktur des Programms in mehrere Schichten unterteilt ist , einschließlich JSP, das für die Front-End-Anzeige verantwortlich ist, Servlet, das für die Steuerung der Prozesslogik verantwortlich ist, und Javabean, das für die Datenkapselung verantwortlich ist. Es gibt jedoch immer noch Probleme mit dieser Struktur: Beispielsweise müssen JSP-Seiten Symbole verwenden, um viel Java-Code einzubetten, was zu einer verwirrenden Seitenstruktur führt. Servlets und Javabeans sind für viele Sprünge und Berechnungen sowie eine enge Kopplung verantwortlich. geringe Wiederverwendbarkeit von Programmen usw.
Die drei Hauptframeworks von Java sind:
1. Struts
Um diese Probleme zu lösen, werden die Struts Es ist ein Framework erschienen, das eine perfekte MVC-Implementierung darstellt. Für verschiedene Unternehmen benötigen wir eine Aktionsklasse, die für Seitensprünge und Hintergrundlogikoperationen verantwortlich ist, sowie eine oder mehrere JSP-Seiten Verantwortlich für die Dateneingabe und -ausgabeanzeige. Es gibt auch eine Formularklasse, die für die Weitergabe von Daten zwischen Action und JSP verantwortlich ist. In JSP kann eine Reihe von Tags verwendet werden, die vom Struts-Framework bereitgestellt werden. Dies ist so einfach wie die Verwendung von HTML-Tags, kann jedoch eine sehr komplexe Logik vervollständigen. Von nun an ist es nicht mehr erforderlich, dass die JSP-Seite eine Zeile umgebenden Java-Codes enthält.
Die Platzierung der gesamten Operationslogik in der Aktion von Struts führt jedoch dazu, dass die Aktionsklasse weniger wiederverwendbar ist und die Logik verwirrend wird. Daher wird die gesamte Webanwendung normalerweise in drei Ebenen unterteilt Die Business-Schicht wird aufgerufen, um die Betriebslogik abzuschließen, und die Business-Schicht ruft dann die Persistenzschicht auf, um das Lesen und Schreiben der Datenbank abzuschließen.
Verwenden Sie eine JDBC-Verbindung zum Lesen und Schreiben der Datenbank. Am häufigsten öffnen wir die Datenbankverbindung, verwenden komplexe SQL-Anweisungen zum Lesen und Schreiben und schließen die Verbindung oder eingekapselt und dann nach außen übertragen. Dies ist ein sehr umständlicher Prozess.
2. Hibernate
Zu diesem Zeitpunkt wird das Hibernate-Framework angezeigt, für das Sie eine Reihe von Persistenzklassen erstellen müssen. Die Attribute jeder Klasse können einfach angezeigt werden Es weist eine Eins-zu-Eins-Entsprechung mit den Attributen einer Datenbanktabelle auf. Natürlich kann es auch mit verschiedenen Tabellendateien in einer relationalen Datenbank verknüpft werden. Wenn wir verwandte Vorgänge benötigen, müssen wir nicht mehr auf die Datenbanktabelle achten. Wir müssen die Datenbank nicht mehr Zeile für Zeile abfragen. Wir benötigen nur die Persistenzklasse, um die Funktionen Hinzufügen, Löschen, Ändern und Abfragen auszuführen. Machen Sie unsere Softwareentwicklung wirklich objektorientiert und nicht chaotisch codeorientiert. Meiner Meinung nach reduziert die Verwendung von Hibernate den Programmieraufwand im Vergleich zu JDBC um 80 %.
Jetzt haben wir drei Schichten, aber wie lauten die Anrufe zwischen den einzelnen Schichten? Wenn Struts beispielsweise in der Anzeigeschicht eine Geschäftsklasse aufrufen müssen, muss eine neue Geschäftsklasse erstellt und diese dann verwendet werden. Wenn die Geschäftsschicht die Persistenzschichtklasse aufrufen muss, muss auch eine neue Persistenzschicht erstellt werden Klasse. Sich gegenseitig über diese neue Methode anzurufen ist die Verkörperung des schlechtesten Designs in der Softwareentwicklung. Um es einfach auszudrücken: Der Aufrufer ist vom Angerufenen abhängig und es entsteht eine starke Kopplung zwischen ihnen. Wenn ich eine Klasse an anderer Stelle wiederverwenden möchte, müssen auch andere Klassen einbezogen werden, von denen diese Klasse abhängt. Das Programm wird sehr unübersichtlich, jede Klasse ist voneinander abhängig und ruft sich gegenseitig auf und der Grad der Wiederverwendbarkeit ist äußerst gering. Wenn eine Klasse geändert wird, sind viele davon abhängige Klassen betroffen. Zu diesem Zweck erscheint das Spring-Framework.
3. Spring
Die Rolle von Spring besteht darin, die Abhängigkeiten zwischen Klassen vollständig zu entkoppeln. Wenn eine Klasse von etwas abhängt, ist sie eine Schnittstelle. Es spielt keine Rolle, wie diese Schnittstelle implementiert wird. Solange Sie eine Klasse erhalten, die diese Schnittstelle implementiert, können Sie die Implementierungsklasse problemlos über die XML-Konfigurationsdatei in die Klasse einfügen, die die Schnittstelle aufruft. Diese Abhängigkeit zwischen allen Klassen wird durch Konfigurationsdateien vollständig ersetzt. Der Kern des Spring-Frameworks ist also die sogenannte Abhängigkeitsinjektion und Kontrollinversion.
Die aktuelle Struktur ist, dass Struts für die Anzeigeschicht verantwortlich ist, Hibernate für die Persistenzschicht und Spring für die mittlere Geschäftsschicht. Diese Struktur ist derzeit die beliebteste Java-Webanwendungsarchitektur in China . Da Spring außerdem Abhängigkeitsinjektion und AOP (aspektorientierte Programmierung) verwendet, ist sein internes Modell so hervorragend, dass Spring selbst auch ein MVC-Framework implementiert hat, das Abhängigkeitsinjektion namens Spring MVC verwendet In anderen Dingen integriert Spring Hibernate, wodurch das Transaktionsmanagement von der Persistenzschicht von Hibernate auf die Geschäftsschicht gehoben wird, was die Verwendung komfortabler und leistungsfähiger macht.
Das Struts-Framework wurde im Jahr 2000 eingeführt und die Technologie ist ziemlich ausgereift. Derzeit ist das Struts-Framework der unangefochtene König der Display-Layer-Technologie in der globalen Java-Entwicklung. Es verfügt über eine große Benutzerbasis und ein gutes Entwicklungsteam. Dies ist auch die Grundvoraussetzung für neue Mitarbeiter der meisten inländischen Java-Softwareunternehmen.
Andere
Der Begriff Java scheint eng mit Open Source verbunden zu sein. In der Java-Welt tauchen täglich zahlreiche Open-Source-Technologien auf. Da es sich um Open Source handelt, werden die Probleme und Mängel der Technologie bald entdeckt. Open-Source-Softwareanbieter werden diese Technologien schnell ändern oder erweitern, sodass die Version schnell aktualisiert wird und in einigen Wochen oder Tagen eine neue Version veröffentlicht wird.
Wenn wir uns auf dem technischen Weg für Java entscheiden, entscheiden wir uns auch dafür, dass Sie weiter lernen müssen, immer auf die neuesten Technologien achten, sie verstehen, prüfen, ob sie Ihren Anforderungen entsprechen, und dann lernen, sie zu verwenden.
Die SSM-Kombination von Java ist ebenfalls sehr gut, Sie können mehr darüber erfahren.
Das obige ist der detaillierte Inhalt vonWas sind die drei wichtigsten Frameworks von Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!