Red de conocimiento informático - Material del sitio web - Cómo configurar las dependencias de Spring en Maven

Cómo configurar las dependencias de Spring en Maven

La configuración básica de Spring en Maven

Spring es altamente modular y puedes usar una biblioteca Spring de forma independiente sin depender de otras bibliotecas Spring. Por ejemplo, el uso de la biblioteca Spring Context no requiere la biblioteca Spring Persistence o Spring MVC.

Comencemos desde lo más simple y configuremos la dependencia de contexto de primavera en Maven: lt; propertiesgt;

lt; .springframework.versiongt;

lt;!--?lt;org.springframework.versiongt;4.0.2.RELEASSelt;/org.springframework.versiongt;?--gt;

lt;/propertiesgt;

lt;dependencygt;

lt;groupIdgt;org.springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-contextlt ; /artifactIdgt;

lt;versiongt;${org.springframework.version}lt;/versiongt;

lt;scopegt;runtimelt;/scopegt;

lt;/dependencygt;

La dependencia de spring-context definida en el ejemplo anterior, spring-context implementa el contenedor de inyección Spring y depende de: spring-core, spring-expression, spring-aop y spring- frijoles . Estos paquetes de dependencia permiten que el contenedor admita algunas de las tecnologías centrales de Spring: componentes centrales de Spring, expresiones Spring EL (SpEL), programación orientada a aspectos y el mecanismo JavaBean.

Tenga en cuenta que esta dependencia se define en el alcance del tiempo de ejecución, por lo que el requisito es garantizar que no sea necesario depender de la API específica de Spring correspondiente durante la compilación. En algunos escenarios de aplicaciones avanzadas, algunas dependencias de Spring no necesitan configurarse con un alcance de tiempo de ejecución, pero en los escenarios de proyectos relativamente simples actuales, no es necesario compilar el proyecto con Spring para obtener todas las funciones de todo el marco.

También cabe señalar que a partir de Spring 3.2, no es necesario definir dependencias CGLIB (la versión actual es CGLIB 3.0). Ahora usa el JAR spring-core incorporado (se pueden encontrar más detalles en [JIRA].sf.cglib ahora usa org.springframework.cglib en su lugar).

Configuración del marco de persistencia de Spring en Maven

Ahora veamos la configuración del marco de persistencia de Spring (principalmente spring-orm)lt;

lt; ;groupIdgt;org.springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-ormlt;/artifactIdgt;

lt;versiongt;${org.springframework.version}lt;/ versiongt;

lt;/dependencygt;

La configuración anterior agrega soporte para funciones Hibernate y JPA, como HibernateTemplate y JpaTemplate y algunas dependencias adicionales relacionadas con la persistencia: spring-jdbc y spring- tx

Al definir el soporte Spring JDBC y JdbcTemplate en la biblioteca de acceso a datos JDBC, Spring-tx proporciona una abstracción de gestión de transacciones muy flexible.

Configuración de Spring MVC en Maven

Para agregar compatibilidad con Spring Web y Servlet, debe agregar dos dependencias adicionales al archivo pom configurado anteriormente: lt dependencygt; p>lt;groupIdgt;org.springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-weblt;/artifactIdgt;

lt;versiongt;${org.springframework.version } lt;/versiongt;

lt;/dependencygt;

lt;dependencygt;

lt;groupIdgt;org.springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-webmvclt;/artifactIdgt;

lt;versiongt;${org.springframework.version}lt;/versiongt;

lt;/dependencygt ;

El paquete spring-web contiene componentes comunes requeridos por Servlets y Portlets, y spring-webmvc habilita la compatibilidad con MVC en el entorno de Servlet.

Dado que spring-webmvc depende de spring-web, después de definir la dependencia de spring-webmvc, puede definir spring-web en el pom sin mostrarlo.

Configuración de Spring Test en Maven

Spring Test se puede introducir en el proyecto a través de la siguiente configuración de dependencialt;dependencygt;

lt;groupIdgt;org.springframeworklt; /groupIdgt;

lt;artifactIdgt;spring-testlt;/artifactIdgt;

lt;versiongt;${spring.version}lt;/versiongt;

lt;scopegt;testlt;/scopegt;

lt;/dependencygt;

A partir de Spring 3.2, el proyecto Spring MVC Test se ha incluido en el marco principal de Spring Test (originalmente An proyecto independiente alojado en GitHub). Por lo tanto, a partir de Spring 3.2, solo necesita configurar la dependencia de prueba de primavera en la configuración de dependencia.

Nota: Para aplicaciones que usan Spring 3.1 y versiones anteriores, aún se puede usar la dependencia independiente spring-mvc-test. Puede consultar aquí para la configuración. Sin embargo, esta dependencia ya no está en la biblioteca central de Maven, por lo que si necesita agregar dependencias, debe configurar un contenedor Maven personalizado.

7. Utilice la versión Milestones

La última versión estable de Spring se almacena en la biblioteca central de Maven. Si el proyecto necesita utilizar la versión hito de Spring, debe personalizarse en el pom. Contenedor:lt;repositoriesgt;

lt;repositorygt;

lt;idgt;repository.springframework.maven.milestonelt;/idgt;

lt;namegt. ; Spring?Framework?Maven?Milestone?Repositorylt;/namegt;

lt;urlgt;http://repo.spring.io/milestone/lt;/urlgt;

lt ; /repositorygt;

lt; /repositoriesgt;

Cuando se completa la configuración del contenedor, el proyecto puede definir dependencias como el siguiente ejemplo: lt; >

lt;/dependencygt;

8. Uso de versiones de instantáneas

Al igual que las versiones de hitos, las versiones de instantáneas también necesitan configurar una ubicación de contenedor personalizada: lt; ;

lt;repositorygt;

lt;idgt;repository.springframework.maven.snapshotlt;/idgt;

lt;namegt;Spring?Framework? ?Instantánea?Repositorylt;/namegt;

lt;urlgt;http://repo.spring.io/snapshot/lt;/urlgt;

lt;/repositorygt;< / p>

lt;/repositoriesgt;

Cuando se configura la ubicación del contenedor de instantáneas, se puede utilizar la siguiente configuración de dependencia:lt;dependencygt;

lt;groupIdgt; org. springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-corelt;/artifactIdgt;

lt;versiongt;3.3.0.BUILD-SNAPSHOTlt;/versiongt;

lt;/dependencygt;

Lo mismo ocurre con la versión 4.x: lt;dependencygt;

lt;groupIdgt;org.springframeworklt;/groupIdgt;

lt;artifactIdgt;spring-corelt;/artifactIdgt;

lt;versiongt;4.0.3.BUILD-SNAPSHOTlt;/versiongt;

lt;/dependencygt;< /

p>