Heim  >  Artikel  >  Java  >  Spring-Core-Framework-Architektur

Spring-Core-Framework-Architektur

巴扎黑
巴扎黑Original
2017-04-30 10:13:581602Durchsuche

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

Kern

Der Kernteil besteht aus 4 Modulen

  1. Spring-Core: Die grundlegendste Implementierung der Abhängigkeitsinjektion IoC und DI


  2. Frühlingsbohnen: Bohnenfabrik und Bohnenmontage


  3. Spring-Kontext: Der Kontextkontext von Spring ist der IoC-Container


  4. 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>

aop

Der AOP-Teil enthält 4 Module

  1. spring-aop: aspektorientierte Programmierung


  2. Frühlingsaspekte: integrierter AspectJ


  3. spring-instrument: Bietet Werkzeugunterstützung auf Klassenebene und Implementierung auf ClassLoader-Ebene für den Server


  4. spring-instrument-tomcat: Instrumentenimplementierung für Tomcat

Ihre Abhängigkeiten

Datenzugriff

Der Datenzugriffsteil enthält 5 Module

  1. spring-jdbc: JDBC-Unterstützung


  2. spring-tx: Transaktionskontrolle


  3. spring-orm: Objektrelationale Zuordnung, integriertes Orm-Framework


  4. spring-oxm: Objekt-XML-Zuordnung


  5. spring-jms: Java-Nachrichtendienst

Ihre Abhängigkeiten

Web

Das Webpart enthält 4 Module

  1. spring-web: grundlegende Webfunktionen, wie z. B. Datei-Upload


  2. spring-webmvc: MVC-Implementierung


  3. spring-webmvc-portlet: Portlet-basierte MVC-Implementierung


  4. spring-struts: Integration mit Struts, nicht empfohlen, spring4 bietet nicht mehr

Ihre Abhängigkeiten

testen

Im Testteil gibt es nur ein Modul. Auch hier werde ich spring-context-support einfügen

  1. Frühlingstest: Frühlingstest, der Junit- und Mock-Testfunktionen bereitstellt


  2. 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

  1. spring-websocket: Ein effizientes Kommunikationstool für Webanwendungen


  2. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn