Frühling mit Maven

Inhaltsverzeichnis

  1. Überblick
  2. Grundlegende Federabhängigkeiten mit Maven
  3. Frühlingspersistenz mit Maven
  4. Spring MVC mit Maven
  5. Frühlingssicherheit mit Maven
  6. Frühlingstest mit Maven
  7. Meilensteine ​​verwenden
  8. Verwenden von Snapshots
  9. Fazit

1. Übersicht

Dieses Tutorial zeigt, wie Sie die Spring-Abhängigkeiten über Maven einrichten . Die neuesten Frühlingsversionen finden Sie auf Maven Central.

2. Grundlegende Federabhängigkeiten mit Maven

Die Feder ist sehr modular aufgebaut - die Verwendung eines Teils der Feder sollte und erfordert keinen anderen. Beispielsweise kann der grundlegende Spring-Kontext ohne die Persistence- oder die MVC Spring-Bibliotheken auskommen.

Beginnen wir mit einem grundlegenden Maven-Setup, das nur die Spring-Kontext- Abhängigkeit verwendet :

 5.2.8.RELEASE   org.springframework spring-context ${org.springframework.version} runtime 

Diese Abhängigkeit - der Frühlingskontext - definiert den tatsächlichen Spring Injection Container und weist eine geringe Anzahl von Abhängigkeiten auf: Spring-Core , Spring-Expression , Spring-Aop und Spring-Beans . Diese erweitern den Container, indem sie die Unterstützung einiger der wichtigsten Spring-Technologien ermöglichen : der Core Spring-Dienstprogramme, der Spring Expression Language (SpEL), der aspektorientierten Programmierunterstützung und des JavaBeans-Mechanismus.

Beachten Sie, dass wir die Abhängigkeit im Laufzeitbereich definieren. Dadurch wird sichergestellt, dass keine Abhängigkeiten zur Kompilierungszeit von Spring-spezifischen APIs bestehen. In fortgeschritteneren Anwendungsfällen kann der Laufzeitbereich aus einigen ausgewählten Spring-Abhängigkeiten entfernt werden. In einfacheren Projekten muss jedoch keine Kompilierung mit Spring durchgeführt werden , um das Framework vollständig nutzen zu können.

Beachten Sie außerdem, dass JDK 8 die für Spring 5.2 erforderliche Java-Mindestversion ist. Es unterstützt auch JDK 11 als aktuellen LTS-Zweig und JDK 13 als neueste OpenJDK-Version.

3. Frühlingspersistenz mit Maven

Schauen wir uns nun die Persistenz der Frühlingsabhängigkeiten an - hauptsächlich der Frühlingsorm :

 org.springframework spring-orm ${org.springframework.version} 

Dies beinhaltet Hibernate- und JPA-Unterstützung - wie HibernateTemplate und JpaTemplate - sowie einige zusätzliche persistenzbezogene Abhängigkeiten: spring-jdbc und spring-tx .

Die JDBC-Datenzugriffsbibliothek definiert die Spring-JDBC-Unterstützung sowie die JdbcTemplate , und spring-tx repräsentiert die äußerst flexible Transaktionsverwaltungsabstraktion.

4. MVC mit Maven federn

Um die Spring Web- und Servlet-Unterstützung nutzen zu können, müssen zusätzlich zu den Kernabhängigkeiten von oben zwei Abhängigkeiten im pom enthalten sein :

 org.springframework spring-web ${org.springframework.version}   org.springframework spring-webmvc ${org.springframework.version} 

Die Spring-Web- Abhängigkeit enthält allgemeine webspezifische Dienstprogramme für Servlet- und Portlet-Umgebungen, während Spring-Webmvc die MVC-Unterstützung für Servlet-Umgebungen aktiviert .

Da feder webmvc hat feder Web als Abhängigkeit, explizit definiert , feder Web nicht erforderlich ist , bei der Verwendung von feder webmvc .

Ab Spring 5.0 können wir für die Unterstützung des Reactive-Stack-Webframeworks die Abhängigkeit für Spring WebFlux hinzufügen:

 org.springframework spring-webflux ${org.springframework.version}  

5. Frühlingssicherheit mit Maven

Security Maven-Abhängigkeiten werden im Artikel Spring Security with Maven ausführlich erläutert.

6. Frühlingstest mit Maven

Das Spring Test Framework kann über die folgende Abhängigkeit in das Projekt aufgenommen werden:

 org.springframework spring-test ${spring.version} test 

Mit Spring 5 können wir auch gleichzeitig Tests ausführen.

7. Meilensteine ​​verwenden

Die Release-Version von Spring wird auf Maven Central gehostet. Wenn ein Projekt jedoch Meilensteinversionen verwenden muss, muss dem pom ein benutzerdefiniertes Spring-Repository hinzugefügt werden:

  repository.springframework.maven.milestone Spring Framework Maven Milestone Repository //repo.spring.io/milestone/  

Sobald dieses Repository definiert wurde, kann das Projekt Abhängigkeiten definieren wie:

 org.springframework spring-core 5.3.0-M1 

8. Verwenden von Snapshots

Ähnlich wie Meilensteine ​​werden Snapshots in einem benutzerdefinierten Repository gehostet:

  repository.springframework.maven.snapshot Spring Framework Maven Snapshot Repository //repo.spring.io/snapshot/  

Sobald das SNAPSHOT-Repository in der Datei pom.xml aktiviert ist, können auf die folgenden Abhängigkeiten verwiesen werden:

 org.springframework spring-core 4.0.3.BUILD-SNAPSHOT 

Sowie - für 5.x:

 org.springframework spring-core 5.3.0-SNAPSHOT 

9. Fazit

Dieser Artikel beschreibt die praktischen Details der Verwendung von Spring mit Maven . Die hier vorgestellten Maven-Abhängigkeiten sind natürlich einige der wichtigsten, und einige andere sind möglicherweise erwähnenswert und haben den Schnitt noch nicht gemacht. Dies sollte jedoch ein guter Ausgangspunkt für die Verwendung von Spring in einem Projekt sein.