Tabla de contenido
- Visión general
- Dependencias básicas de Spring con Maven
- Persistencia primaveral con Maven
- Spring MVC con Maven
- Spring Security con Maven
- Prueba de primavera con Maven
- Usando hitos
- Usar instantáneas
- Conclusión
1. Información general
Este tutorial ilustra cómo configurar las dependencias de Spring a través de Maven . Los últimos lanzamientos de primavera se pueden encontrar en Maven Central.
2. Dependencias básicas de Spring con Maven
Spring está diseñado para ser altamente modular: el uso de una parte de Spring no debería ni requiere otra. Por ejemplo, el contexto básico de Spring puede ser sin las bibliotecas Persistence o MVC Spring.
Comencemos con una configuración fundamental de Maven que solo usará la dependencia de contexto de primavera :
5.2.8.RELEASE org.springframework spring-context ${org.springframework.version} runtime
Esta dependencia, spring-context , define el contenedor de inyección Spring real y tiene una pequeña cantidad de dependencias: spring-core , spring-expression , spring-aop y spring-beans . Estos aumentan el contenedor al permitir el soporte para algunas de las tecnologías principales de Spring : las utilidades Core Spring, el lenguaje de expresión Spring (SpEL), el soporte de programación orientada a aspectos y el mecanismo JavaBeans.
Tenga en cuenta que estamos definiendo la dependencia en el alcance del tiempo de ejecución ; esto asegurará que no haya dependencias en tiempo de compilación en ninguna API específica de Spring. Para casos de uso más avanzados, el alcance del tiempo de ejecución puede eliminarse de algunas dependencias de Spring seleccionadas, pero para proyectos más simples, no es necesario compilar con Spring para hacer un uso completo del marco.
Además, tenga en cuenta que JDK 8 es la versión mínima de Java requerida para Spring 5.2. También es compatible con JDK 11 como la rama LTS actual y JDK 13 como la última versión de OpenJDK.
3. Persistencia primaveral con Maven
Veamos ahora las dependencias de persistencia de Spring , principalmente Spring-orm :
org.springframework spring-orm ${org.springframework.version}
Esto viene con soporte para Hibernate y JPA, como HibernateTemplate y JpaTemplate , así como algunas dependencias adicionales relacionadas con la persistencia: spring-jdbc y spring-tx .
La biblioteca de acceso a datos JDBC define el soporte de Spring JDBC, así como el JdbcTemplate , y spring-tx representa la abstracción de administración de transacciones extremadamente flexible.
4. Spring MVC con Maven
Para usar el soporte de Spring Web y Servlet, se deben incluir dos dependencias en el pom , nuevamente además de las dependencias centrales de arriba:
org.springframework spring-web ${org.springframework.version} org.springframework spring-webmvc ${org.springframework.version}
La dependencia spring-web contiene utilidades web específicas para entornos Servlet y Portlet, mientras que spring-webmvc habilita el soporte MVC para entornos Servlet.
Dado que spring-webmvc tiene spring-web como dependencia, no se requiere definir explícitamente spring-web cuando se usa spring-webmvc .
A partir de Spring 5.0, para el soporte del marco web de pila reactiva, podemos agregar la dependencia para Spring WebFlux:
org.springframework spring-webflux ${org.springframework.version}
5. Spring Security con Maven
Las dependencias de Security Maven se analizan en profundidad en el artículo Spring Security with Maven.
6. Prueba de primavera con Maven
Spring Test Framework se puede incluir en el proyecto a través de la siguiente dependencia:
org.springframework spring-test ${spring.version} test
Con Spring 5, también podemos realizar la ejecución de pruebas simultáneas.
7. Uso de hitos
La versión de lanzamiento de Spring está alojada en Maven Central. Sin embargo, si un proyecto necesita usar versiones de hitos, entonces se debe agregar un repositorio Spring personalizado al pom:
repository.springframework.maven.milestone Spring Framework Maven Milestone Repository //repo.spring.io/milestone/
Una vez que se ha definido este repositorio, el proyecto puede definir dependencias como:
org.springframework spring-core 5.3.0-M1
8. Uso de instantáneas
Al igual que en los hitos, las instantáneas se alojan en un repositorio personalizado:
repository.springframework.maven.snapshot Spring Framework Maven Snapshot Repository //repo.spring.io/snapshot/
Una vez que el repositorio SNAPSHOT está habilitado en pom.xml, se puede hacer referencia a las siguientes dependencias:
org.springframework spring-core 4.0.3.BUILD-SNAPSHOT
Además de - para 5.x:
org.springframework spring-core 5.3.0-SNAPSHOT
9. Conclusión
Este artículo analiza los detalles prácticos del uso de Spring con Maven . Las dependencias de Maven que se presentan aquí son, por supuesto, algunas de las principales, y es posible que valga la pena mencionar algunas otras que aún no han hecho el corte. Sin embargo, este debería ser un buen punto de partida para usar Spring en un proyecto.