Primavera con Maven

Sommario

  1. Panoramica
  2. Dipendenze primarie di base con Maven
  3. Persistenza primaverile con Maven
  4. Spring MVC con Maven
  5. Spring Security con Maven
  6. Spring Test con Maven
  7. Utilizzo delle pietre miliari
  8. Utilizzo di istantanee
  9. Conclusione

1. Panoramica

Questo tutorial illustra come configurare le dipendenze Spring tramite Maven . Le ultime versioni primaverili sono disponibili su Maven Central.

2. Dipendenze primarie di base con Maven

Spring è progettato per essere altamente modulare: l'utilizzo di una parte di Spring non dovrebbe e non ne richiede un'altra. Ad esempio, il contesto Spring di base può essere senza le librerie Persistence o MVC Spring.

Cominciamo con una configurazione fondamentale di Maven che utilizzerà solo la dipendenza dal contesto primaverile :

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

Questa dipendenza - spring-context - definisce l'attuale Spring Injection Container e ha un piccolo numero di dipendenze: spring-core , spring-expression , spring-aop e spring-bean . Questi aumentano il contenitore consentendo il supporto per alcune delle principali tecnologie Spring : le utility Core Spring, lo Spring Expression Language (SpEL), il supporto per la programmazione orientata agli aspetti e il meccanismo JavaBeans.

Note Siamo definire la dipendenza nel runtime campo di applicazione - questo farà in modo che non ci siano dipendenze di compilazione su eventuali API specifiche di primavera. Per casi d'uso più avanzati, l' ambito di runtime può essere rimosso da alcune dipendenze Spring selezionate, ma per progetti più semplici, non è necessario compilare con Spring per sfruttare appieno il framework.

Inoltre, tieni presente che JDK 8 è la versione minima di Java richiesta per Spring 5.2. Supporta anche JDK 11 come l'attuale ramo LTS e JDK 13 come l'ultima versione di OpenJDK.

3. Persistenza della primavera con Maven

Diamo ora un'occhiata alla persistenza delle dipendenze Spring , principalmente spring-orm :

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

Questo viene fornito con il supporto di Hibernate e JPA, come HibernateTemplate e JpaTemplate , oltre ad alcune dipendenze aggiuntive correlate alla persistenza: spring-jdbc e spring-tx .

La libreria di accesso ai dati JDBC definisce il supporto JDBC Spring e JdbcTemplate e spring-tx rappresenta l'astrazione estremamente flessibile della gestione delle transazioni.

4. Spring MVC con Maven

Per utilizzare il supporto Spring Web e Servlet, è necessario includere due dipendenze nel pom , ancora una volta in aggiunta alle dipendenze principali dall'alto:

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

La dipendenza spring-web contiene utilità specifiche web comuni per ambienti Servlet e Portlet, mentre spring-webmvc abilita il supporto MVC per ambienti Servlet.

Poiché spring-webmvc ha spring-web come dipendenza, la definizione esplicita di spring-web non è richiesta quando si usa spring-webmvc .

A partire da Spring 5.0, per il supporto del framework web a stack reattivo, possiamo aggiungere la dipendenza per Spring WebFlux:

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

5. Sicurezza primaverile con Maven

Le dipendenze di sicurezza Maven sono discusse in dettaglio nell'articolo Spring Security with Maven.

6. Test di primavera con Maven

Lo Spring Test Framework può essere incluso nel progetto tramite la seguente dipendenza:

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

Con Spring 5, possiamo eseguire anche l'esecuzione di test simultanei.

7. Utilizzo delle pietre miliari

La versione di rilascio di Spring è ospitata su Maven Central. Tuttavia, se un progetto deve utilizzare versioni milestone, è necessario aggiungere un repository Spring personalizzato al pom:

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

Una volta definito questo repository, il progetto può definire dipendenze come:

 org.springframework spring-core 5.3.0-M1 

8. Utilizzo di istantanee

Analogamente alle pietre miliari, le istantanee sono ospitate in un repository personalizzato:

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

Una volta abilitato il repository SNAPSHOT nel pom.xml, è possibile fare riferimento alle seguenti dipendenze:

 org.springframework spring-core 4.0.3.BUILD-SNAPSHOT 

Oltre a - per 5.x:

 org.springframework spring-core 5.3.0-SNAPSHOT 

9. Conclusione

Questo articolo discute i dettagli pratici dell'utilizzo di Spring con Maven . Le dipendenze Maven presentate qui sono ovviamente alcune delle principali, e molte altre potrebbero valere la pena menzionarle e non hanno ancora fatto il taglio. Tuttavia, questo dovrebbe essere un buon punto di partenza per utilizzare Spring in un progetto.