Forår med Maven

Indholdsfortegnelse

  1. Oversigt
  2. Grundlæggende forårsafhængigheder med Maven
  3. Spring Persistence with Maven
  4. Spring MVC med Maven
  5. Forårssikkerhed med Maven
  6. Forårstest med Maven
  7. Brug af milepæle
  8. Brug af snapshots
  9. Konklusion

1. Oversigt

Denne vejledning illustrerer, hvordan du konfigurerer forårets afhængighed via Maven. De seneste forårsudgivelser kan findes på Maven Central.

2. Grundlæggende forårsafhængigheder med Maven

Fjederen er designet til at være meget modulær - brug af en del af fjederen bør ikke og kræver ikke en anden. For eksempel kan den grundlæggende Spring Context være uden Persistence- eller MVC Spring-bibliotekerne.

Lad os starte med en grundlæggende Maven opsætning som kun vil bruge det forårskontekst afhængighed:

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

Denne afhængighed - forårskontekst - definerer den aktuelle Spring Injection Container og har et lille antal afhængigheder: fjederkerne, fjeder-udtryk, spring-aopog spring-bønner. Disse udvider containeren ved at muliggøre support til nogle af centrale fjederteknologier: Core Spring-hjælpeprogrammer, Spring Expression Language (SpEL), Aspect-Oriented Programming support og JavaBeans-mekanismen.

Bemærk, at vi definerer afhængigheden i runtime rækkevidde - dette vil sikre, at der ikke er kompileringstidsafhængigheder af nogen forårsspecifikke API'er. For mere avancerede brugssager, runtime rækkevidde kan fjernes fra nogle udvalgte forårsafhængigheder, men for enklere projekter er der ikke nødvendigt at kompilere mod foråret at udnytte rammen fuldt ud.

Bemærk også, at JDK 8 er den mindste Java-version, der kræves til Spring 5.2. Det understøtter også JDK 11 som den nuværende LTS-filial og JDK 13 som den seneste OpenJDK-udgivelse.

3. Spring Persistence With Maven

Lad os nu se på udholdenhedens afhængighedsforhold - hovedsageligt forår-orm:

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

Dette kommer med dvale- og JPA-support - såsom Dvaletilstand og JpaTemplate - samt nogle få yderligere, vedvarende relaterede afhængigheder: forår-jdbc og fjeder-tx.

JDBC Data Access-biblioteket definerer såvel Spring JDBC-support som JdbcTemplateog fjeder-tx repræsenterer den ekstremt fleksible abstraktion af transaktionsstyring.

4. Forår MVC med Maven

For at bruge Spring Web og Servlet-support skal der være to afhængigheder i pom, igen ud over kerneafhængighederne ovenfra:

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

Det fjeder-web afhængighed indeholder almindelige webspecifikke værktøjer til både Servlet- og Portlet-miljøer, mens fjeder-webmvc muliggør MVC-understøttelse til Servlet-miljøer.

Siden fjeder-webmvc har fjeder-web som en afhængighed, der udtrykkeligt definerer fjeder-web er ikke påkrævet ved brug fjeder-webmvc.

Fra og med Spring 5.0 kan vi tilføje afhængigheden af ​​Spring WebFlux for understøttelse af web-framework til reaktiv-stack:

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

5. Forårssikkerhed med Maven

Sikkerhed Maven afhængigheder diskuteres i dybden i artiklen om forårssikkerhed med Maven.

6. Forårstest med Maven

Spring Test Framework kan inkluderes i projektet via følgende afhængighed:

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

Med Spring 5 kan vi også udføre samtidig testudførelse.

7. Brug af milepæle

Udgivelsesversionen af ​​Spring er hostet på Maven Central. Men hvis et projekt skal bruge milepælversioner, skal der tilføjes et brugerdefineret Spring-lager til pom:

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

Når dette arkiv er defineret, kan projektet definere afhængigheder såsom:

 org.springframework fjederkerne 5.3.0-M1 

8. Brug af snapshots

Svarende til milepæle er snapshots hostet i et brugerdefineret lager:

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

Når SNAPSHOT-arkivet er aktiveret i pom.xml, kan der refereres til følgende afhængigheder:

 org.springframework spring-core 4.0.3.BUILD-SNAPSHOT 

Samt - til 5.x:

 org.springframework spring-core 5.3.0-SNAPSHOT 

9. Konklusion

Denne artikel diskuterer de praktiske detaljer ved brug Forår med Maven. De Maven-afhængigheder, der præsenteres her, er selvfølgelig nogle af de største, og flere andre kan være værd at nævne og har endnu ikke gjort det. Ikke desto mindre bør dette være et godt udgangspunkt for at bruge Spring i et projekt.