Viele Leute verwenden Spring, um Java-Projekte zu entwickeln, aber bei der Konfiguration von Maven-Abhängigkeiten ist nicht klar, welche Spring-Jars konfiguriert werden sollen. Sie fügen oft zufällig eine Reihe davon hinzu und konfigurieren dann die Jar-Abhängigkeiten weiter, wenn beim Kompilieren oder Ausführen Fehler gemeldet werden Dies führt zu einer Verwirrung der Federabhängigkeiten oder sogar zum Herunterladen derselben Art von Projekt. Ich weiß nicht, welche Federabhängigkeiten ich konfigurieren soll. Tatsächlich habe ich das am Anfang getan !
Im Frühjahr gibt es nur etwa 20 JAR-Pakete, von denen jedes eine entsprechende Funktion hat. Daher ist es möglich, die Beziehung zwischen ihnen herauszufinden und Maven-Abhängigkeiten zu konfigurieren. Hier ist ein Beispiel: Welche Jars werden benötigt, um das Spring-Framework in gewöhnlichen Java-Projekten zu verwenden? Nur ein
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.17.RELEASE</version> </dependency>
Wie wäre es mit der Einführung von Spring MVC in Webprojekte? Sie müssen lediglich eine Abhängigkeit
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.17.RELEASE</version> </dependency>
konfigurieren Warum kann es so konfiguriert werden? Als nächstes nehmen wir die Spring 3.2.17.RELEASE-Version als Beispiel, um die Spring-Framework-Struktur vorzustellen. Spring 4 ist etwas anders und wird am Ende vorgestellt
Auf der offiziellen Website von Spring finden Sie ein Strukturdiagramm von Spring 3
Das Bild unterteilt Spring in 5 Teile: Kern, AOP, Datenzugriff, Web und Test. Jedes abgerundete Rechteck im Bild entspricht einem Glas. Wenn es in Maven konfiguriert ist, ist die „Gruppen-ID“ aller dieser Gläser „org“ .springframework „Jedes Glas hat eine andere „artifactId“, außerdem hat „instrumentation“ zwei Gläser und ein „spring-context-support“ ist in der Abbildung nicht aufgeführt, sodass es insgesamt 19 Glaspakete für spring3 gibt.
Im Folgenden werden die Gläser und Abhängigkeiten dieser fünf Teile vorgestellt
Der Kernteil besteht aus 4 Modulen
Spring-Core: Die grundlegendste Implementierung der Abhängigkeitsinjektion IoC und DI
Frühlingsbohnen: Bohnenfabrik und Bohnenmontage
Spring-Kontext: Der Kontextkontext von Spring ist der IoC-Container
Frühlingsausdruck: Frühlingsausdruckssprache
Ihre vollständigen Abhängigkeiten
Da Spring-Core auf Commons-Logging basiert und andere Module auf Spring-Core basieren, basiert das gesamte Spring-Framework auf Commons-Logging. Wenn Sie über eine eigene Protokollimplementierung wie log4j verfügen, können Sie die Abhängigkeit von Commons-Logging beseitigen. Keine Protokollimplementierung schließt Commons-Logging-Abhängigkeit und Kompilierungsfehler aus
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.17.RELEASE</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>
Der AOP-Teil enthält 4 Module
spring-aop: aspektorientierte Programmierung
Frühlingsaspekte: integrierter AspectJ
spring-instrument: Bietet Werkzeugunterstützung auf Klassenebene und Implementierung auf ClassLoader-Ebene für den Server
spring-instrument-tomcat: Instrumentenimplementierung für Tomcat
Ihre Abhängigkeiten
Der Datenzugriffsteil enthält 5 Module
spring-jdbc: JDBC-Unterstützung
spring-tx: Transaktionskontrolle
spring-orm: Objektrelationale Zuordnung, integriertes Orm-Framework
spring-oxm: Objekt-XML-Zuordnung
spring-jms: Java-Nachrichtendienst
Ihre Abhängigkeiten
Das Webpart enthält 4 Module
spring-web: grundlegende Webfunktionen, wie z. B. Datei-Upload
spring-webmvc: MVC-Implementierung
spring-webmvc-portlet: Portlet-basierte MVC-Implementierung
spring-struts: Integration mit Struts, nicht empfohlen, spring4 bietet nicht mehr
Ihre Abhängigkeiten
Im Testteil gibt es nur ein Modul. Auch hier werde ich spring-context-support einfügen
Frühlingstest: Frühlingstest, der Junit- und Mock-Testfunktionen bereitstellt
Spring-Context-Support: Spring-Zusatzunterstützungspakete, wie E-Mail-Dienste, Ansichtsanalyse usw.
Ihre Abhängigkeiten
Dies ist das Ende der Einführung in Spring 3. Wenn Sie sich diese Bilder ansehen, werden Sie meiner Meinung nach nicht mehr verwirrt sein, wenn Sie Spring-Abhängigkeiten in Maven konfigurieren
Im Folgenden wird spring4 vorgestellt, das im Grunde die gleiche Struktur wie spring3 hat. Das Folgende ist das Strukturdiagramm auf der offiziellen Website
Wie Sie sehen können, wurden die Stützen von spring3 aus dem Bild entfernt, Messaging und Websocket hinzugefügt und andere Module bleiben unverändert. Daher gibt es 20 Gläser von spring4
spring-websocket: Ein effizientes Kommunikationstool für Webanwendungen
spring-messaging: zum Erstellen von Messaging-basierten Anwendungen
Ihre Abhängigkeiten
Das obige ist der detaillierte Inhalt vonSpring-Core-Framework-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!