Vår med Maven
Innholdsfortegnelse
- Oversikt
- Grunnleggende våravhengigheter med Maven
- Vårpersistens med Maven
- Vår MVC med Maven
- Vårsikkerhet med Maven
- Vårtest med Maven
- Bruke milepæler
- Bruke øyeblikksbilder
- Konklusjon
1. Oversikt
Denne opplæringen illustrerer hvordan du setter opp våravhengighetene via Maven. De siste vårutgivelsene finner du på Maven Central.
2. Grunnleggende våravhengigheter med Maven
Våren er designet for å være svært modulær - bruk av en del av våren bør ikke og krever ikke en annen. For eksempel kan den grunnleggende vårkonteksten være uten Persistence- eller MVC Spring-bibliotekene.
La oss starte med en grunnleggende Maven oppsett som bare vil bruke de vår-kontekst avhengighet:
5.2.8.RELEASE org.springframework spring-context $ {org.springframework.version} runtime
Denne avhengigheten - vår-kontekst - definerer den faktiske Spring Injection Container og har et lite antall avhengigheter: vårkjernen, våruttrykk, vår-aop, og vårbønner. Disse forsterker containeren ved å muliggjøre støtte for noen av kjerne vårteknologier: Core Spring-verktøyene, Spring Expression Language (SpEL), Aspect-Oriented Programming support og JavaBeans-mekanismen.
Merk at vi definerer avhengigheten i kjøretid omfang - dette vil sørge for at det ikke er noen avhengighet av kompileringstid på noen vårspesifikke API-er. For mer avanserte brukstilfeller, kjøretid omfanget kan fjernes fra noen utvalgte våravhengigheter, men for enklere prosjekter er det ikke behov for å kompilere mot våren å utnytte rammeverket fullt ut.
Vær også oppmerksom på at JDK 8 er den minste Java-versjonen som kreves for våren 5.2. Den støtter også JDK 11 som den nåværende LTS-grenen og JDK 13 som den siste OpenJDK-utgivelsen.
3. Vårpersistens med Maven
La oss nå se på utholdenhetens våravhengighet - hovedsakelig vår-orm:
org.springframework spring-orm $ {org.springframework.version}
Dette kommer med dvalemodus og JPA-støtte - som f.eks Dvalemodus og JpaTemplate - i tillegg til noen få andre, utholdenhetsrelaterte avhengigheter: vår-jdbc og vår-tx.
JDBC Data Access-biblioteket definerer vår JDBC-støtte så vel som JdbcTemplate, og vår-tx representerer den ekstremt fleksible Abstraction Transaction Management.
4. Vår-MVC med Maven
For å bruke Spring Web og Servlet-støtte, må to avhengigheter inkluderes i pom, igjen i tillegg til kjerneavhengighetene ovenfra:
org.springframework spring-web $ {org.springframework.version} org.springframework spring-webmvc $ {org.springframework.version}
De vår-nett avhengighet inneholder vanlige nettspesifikke verktøy for både Servlet- og Portlet-miljøer, mens vår-webmvc muliggjør MVC-støtte for Servlet-miljøer.
Siden vår-webmvc har vår-nett som en avhengighet, eksplisitt definerende vår-nett er ikke nødvendig når du bruker vår-webmvc.
Fra og med våren 5.0 kan vi legge til avhengigheten av Spring WebFlux for støtte for reaktivt stablet nettverk.
org.springframework spring-webflux $ {org.springframework.version}
5. Vårsikkerhet med Maven
Sikkerhet Maven avhengigheter blir diskutert i dybden i artikkelen om vårsikkerhet med Maven.
6. Vårtest med Maven
Spring Test Framework kan inkluderes i prosjektet via følgende avhengighet:
org.springframework spring-test $ {spring.version} test
Med vår 5 kan vi også utføre samtidig testutførelse.
7. Bruke milepæler
Utgivelsesversjonen av Spring er vert på Maven Central. Imidlertid, hvis et prosjekt trenger å bruke milepælversjoner, må et tilpasset vårlager legges til pom:
repository.springframework.maven.milestone Spring Framework Maven Milestone Repository //repo.spring.io/milestone/
Når dette depotet er definert, kan prosjektet definere avhengigheter som:
org.springframework spring-core 5.3.0-M1
8. Bruke øyeblikksbilder
I likhet med milepæler er øyeblikksbilder vert i et tilpasset depot:
repository.springframework.maven.snapshot Spring Framework Maven Snapshot Repository //repo.spring.io/snapshot/
Når SNAPSHOT-depotet er aktivert i pom.xml, kan følgende avhengigheter henvises:
org.springframework spring-core 4.0.3.BUILD-SNAPSHOT
I tillegg til - for 5.x:
org.springframework spring-core 5.3.0-SNAPSHOT
9. Konklusjon
Denne artikkelen diskuterer de praktiske detaljene ved bruk Vår med Maven. Maven-avhengighetene som presenteres her er selvfølgelig noen av de viktigste, og flere andre kan være verdt å nevne og har ennå ikke gjort kuttet. Likevel bør dette være et godt utgangspunkt for å bruke Spring i et prosjekt.