Frühling mit Maven

Frühling mit Maven

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.