Spring-Core-Framework-Architektur
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
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>
aop
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
Datenzugriff
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
Web
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
testen
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Im Jahr 2023 ist die KI-Technologie zu einem heißen Thema geworden und hat enorme Auswirkungen auf verschiedene Branchen, insbesondere im Programmierbereich. Die Bedeutung der KI-Technologie wird den Menschen zunehmend bewusst, und die Spring-Community bildet da keine Ausnahme. Mit der kontinuierlichen Weiterentwicklung der GenAI-Technologie (General Artificial Intelligence) ist es entscheidend und dringend geworden, die Erstellung von Anwendungen mit KI-Funktionen zu vereinfachen. Vor diesem Hintergrund entstand „SpringAI“ mit dem Ziel, den Prozess der Entwicklung von KI-Funktionsanwendungen zu vereinfachen, ihn einfach und intuitiv zu gestalten und unnötige Komplexität zu vermeiden. Durch „SpringAI“ können Entwickler einfacher Anwendungen mit KI-Funktionen erstellen, wodurch diese einfacher zu verwenden und zu bedienen sind.

Als Branchenführer bietet Spring+AI durch seine leistungsstarke, flexible API und erweiterte Funktionen führende Lösungen für verschiedene Branchen. In diesem Thema werden wir uns mit den Anwendungsbeispielen von Spring+AI in verschiedenen Bereichen befassen. Jeder Fall wird zeigen, wie Spring+AI spezifische Anforderungen erfüllt, Ziele erreicht und diese LESSONSLEARNED auf ein breiteres Anwendungsspektrum ausdehnt. Ich hoffe, dieses Thema kann Sie dazu inspirieren, die unendlichen Möglichkeiten von Spring+AI tiefer zu verstehen und zu nutzen. Das Spring-Framework hat eine mehr als 20-jährige Geschichte im Bereich der Softwareentwicklung, und seit der Veröffentlichung der Spring Boot 1.0-Version sind 10 Jahre vergangen. Nun kann niemand diesen Frühling bestreiten

So implementieren Sie programmgesteuerte Spring-Transaktionen: 1. Verwenden Sie TransactionCallback und TransactionCallbackWithoutResult; 4. Verwenden Sie TransactionTemplate in Kombination mit @Transactional;

Java implementiert geplante Aufgaben In der mit Jdk gelieferten Bibliothek gibt es zwei Möglichkeiten, geplante Aufgaben zu implementieren: eine ist Timer und die andere ist ScheduledThreadPoolExecutor. Wenn Timer+TimerTask einen Timer erstellt, wird ein Thread erstellt, der zum Planen von TimerTask-Aufgaben verwendet werden kann. Der Timer verfügt über vier Konstruktionsmethoden. Sie können den Namen des Timer-Threads angeben und angeben, ob er als Daemon-Thread festgelegt werden soll. Der Standardname ist Timer-Nummer und der Standardname ist kein Daemon-Thread. Es gibt drei Hauptmethoden: cancel(): Aufgabenplanung beenden, alle derzeit geplanten Aufgaben abbrechen, laufende Aufgaben sind davon nicht betroffen. purge(): Aufgaben aus der Aufgabenwarteschlange entfernen

SpringBoot und SpringCloud sind beides Erweiterungen des Spring Framework, die Entwicklern dabei helfen, Microservice-Anwendungen schneller zu erstellen und bereitzustellen. Sie haben jedoch jeweils unterschiedliche Zwecke und Funktionen. SpringBoot ist ein Framework zum schnellen Erstellen von Java-Anwendungen, das es Entwicklern ermöglicht, Spring-basierte Anwendungen schneller zu erstellen und bereitzustellen. Es bietet eine einfache und leicht verständliche Möglichkeit, eigenständige, ausführbare Spring-Anwendungen zu erstellen

Mit der Aktualisierung und Iteration der Technologie begann Java5.0, Anmerkungen zu unterstützen. Als führendes Framework in Java hat Spring seit der Aktualisierung auf Version 2.5 langsam damit begonnen, die XML-Konfiguration aufzugeben, und es werden mehr Annotationen zur Steuerung des Spring-Frameworks verwendet.

So legen Sie die Transaktionsisolationsstufe in Spring fest: 1. Verwenden Sie die Annotation @Transactional. 3. Legen Sie sie in der Spring-Konfigurationsdatei fest. 4. Legen Sie sie in der Java-Konfigurationsklasse fest. Detaillierte Einführung: 1. Verwenden Sie die Annotation @Transactional, fügen Sie die Annotation @Transactional zu der Klasse oder Methode hinzu, die eine Transaktionsverwaltung erfordert, und legen Sie die Isolationsstufe im Attribut fest. 2. In der Spring-Konfigurationsdatei usw.

Als Java-Entwickler ist das Erlernen und Verwenden des Spring-Frameworks eine wesentliche Fähigkeit. Mit der Popularität von Cloud Computing und Microservices ist das Erlernen und Verwenden von Spring Cloud zu einer weiteren Fähigkeit geworden, die beherrscht werden muss. SpringCloud ist ein auf SpringBoot basierendes Entwicklungstoolset zum schnellen Aufbau verteilter Systeme. Es bietet Entwicklern eine Reihe von Komponenten, darunter Dienstregistrierung und -erkennung, Konfigurationscenter, Lastausgleich und Leistungsschalter usw., sodass Entwickler Mikrofunktionen erstellen können
