Frühling mit Maven
Inhaltsverzeichnis
1. Überblick
Dieses Tutorial zeigt, wie Siethe Spring dependencies via Maven einrichten. Die neuesten Frühlingsversionen finden Sie inon Maven Central.
2. Grundlegende Federabhängigkeiten mit Maven
Spring ist sehr modular aufgebaut - für die Verwendung eines Teils von Spring sollte und muss kein anderer Teil verwendet werden. Beispielsweise kann der grundlegende Spring-Kontext ohne die Persistenz- oder die MVC-Spring-Bibliothek sein.
Beginnen wir mit einem fundamentalenMaven setup, das nurthe spring-context dependency verwendet:
3.2.8.RELEASE
org.springframework
spring-context
${org.springframework.version}
runtime
Diese Abhängigkeit -spring-context - definiert den tatsächlichen Federinjektionsbehälter und weist eine geringe Anzahl von Abhängigkeiten auf:spring-core,spring-expression,spring-aop undspring-beans. Diese erweitern den Container, indem sie die Unterstützung für einige dercore Spring technologies ermöglichen: die Core Spring-Dienstprogramme, dieSpring Expression Language (SpEL), dieAspect Oriented Programming-Unterstützung und dieJavaBeans mechanism.
Beachten Sie, dass wir die Abhängigkeit inruntime scopedefinieren. Dadurch wird sichergestellt, dass keine Abhängigkeiten zur Kompilierungszeit von Spring-spezifischen APIs bestehen. Für fortgeschrittenere Anwendungsfälle kann der Bereich vonruntimeaus einigen ausgewählten Spring-Abhängigkeiten entfernt werden. Für einfachere Projekte gibt es jedochno need to compile against Spring, um das Framework vollständig zu nutzen.
Beachten Sie auch, dass ab Spring 3.2there is no need to define the CGLIB dependency (jetzt auf CGLIB 3.0 aktualisiert) neu verpackt wurde (das Paket allnet.sf.cglib ist jetztorg.springframework.cglib) und direkt im Federkern eingebettet ist JAR (siehethe JIRA für weitere Details).
3. Frühlingspersistenz mit Maven
Schauen wir uns nunthe persistence Spring dependencies an - hauptsächlichspring-orm:
org.springframework
spring-orm
${org.springframework.version}
Dies beinhaltet Hibernate- und JPA-Unterstützung - wieHibernateTemplate undJpaTemplate - sowie einige zusätzliche persistenzbezogene Abhängigkeiten:spring-jdbc undspring-tx.
Die JDBC-Datenzugriffsbibliothek definiert sowohl dieSpring JDBC support als auch dieJdbcTemplate, undspring-tx repräsentiert die extrem flexiblenTransaction Management Abstraction.
4. Spring MVC mit Maven
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 inpom enthalten sein:
org.springframework
spring-web
${org.springframework.version}
org.springframework
spring-webmvc
${org.springframework.version}
Die Abhängigkeit vonspring-webenthält allgemeine webspezifische Dienstprogramme für Servlet- und Portlet-Umgebungen, währendspring-webmvc enables the MVC supportfür Servlet-Umgebungen gilt.
Daspring-webmvcspring-web als Abhängigkeit hat, ist bei Verwendung vonspring-webmvc keine explizite Definition vonspring-web erforderlich.
5. Frühlingssicherheit mit Maven
Security Maven dependencies werden im ArtikelSpring Security with Maven ausführlich besprochen.
6. Frühlingstest mit Maven
Das Spring Test Framework kann über die folgende Abhängigkeit in das Projekt eingebunden werden:
org.springframework
spring-test
${spring.version}
test
Ab Spring 3.2 wurde das Spring MVC-Testprojekt in das Kerntest-Framework aufgenommen. Daher reicht es aus, die Abhängigkeit vonspring-testeinzubeziehen.
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
http://repo.spring.io/milestone/
Wenn dieses Repository definiert wurde, kann das Projekt Abhängigkeiten definieren wie:
org.springframework
spring-core
3.2.0.RC2
8. Verwenden von Snapshots
Ähnlich wie bei Meilensteinen werden Snapshots in einem benutzerdefinierten Repository gehostet:
repository.springframework.maven.snapshot
Spring Framework Maven Snapshot Repository
http://repo.spring.io/snapshot/
Sobald das SNAPSHOT-Repository in der Datei pom.xml aktiviert ist, kann auf die folgenden Abhängigkeiten verwiesen werden:
org.springframework
spring-core
3.3.0.BUILD-SNAPSHOT
Sowie - für 4.x:
org.springframework
spring-core
4.0.3.BUILD-SNAPSHOT
9. Fazit
Dieser Artikel beschreibt die praktischen Details der Verwendung vonSpring with 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 geschafft. Dies sollte jedoch ein guter Ausgangspunkt für die Verwendung von Spring in einem Projekt sein.