Printemps avec Maven
Table des matières
1. Vue d'ensemble
Ce didacticiel illustre comment configurerthe Spring dependencies via Maven. Les dernières versions de Spring peuvent être trouvéeson Maven Central.
2. Dépendances de base de Spring avec Maven
Le ressort est conçu pour être très modulaire - en utilisant une partie de Spring ne devrait pas et ne nécessite pas une autre. Par exemple, le contexte Spring de base peut être sans les bibliothèques Persistence ou MVC Spring.
Commençons par unMaven setup fondamental qui n'utilisera quethe spring-context dependency:
3.2.8.RELEASE
org.springframework
spring-context
${org.springframework.version}
runtime
Cette dépendance -spring-context - définit le conteneur d'injection de ressort réel et a un petit nombre de dépendances:spring-core,spring-expression,spring-aop etspring-beans. Celles-ci augmentent le conteneur en permettant la prise en charge de certains descore Spring technologies: les utilitaires Core Spring, lesSpring Expression Language (SpEL), le supportAspect Oriented Programming et lesJavaBeans mechanism.
Notez que nous définissons la dépendance dans lesruntime scope - cela garantira qu'il n'y a aucune dépendance au moment de la compilation sur les API spécifiques à Spring. Pour des cas d'utilisation plus avancés, la portée deruntime peut être supprimée de certaines dépendances Spring sélectionnées, mais pour les projets plus simples, il y ano need to compile against Spring pour utiliser pleinement le framework.
Notez également qu'à partir de Spring 3.2,there is no need to define the CGLIB dependency (maintenant mis à niveau vers CGLIB 3.0) - il a été reconditionné (le package allnet.sf.cglib est maintenantorg.springframework.cglib) et intégré directement dans le spring-core JAR (voirthe JIRA pour plus de détails).
3. Spring Persistence avec Maven
Regardons maintenantthe persistence Spring dependencies - principalementspring-orm:
org.springframework
spring-orm
${org.springframework.version}
Cela vient avec le support Hibernate et JPA - commeHibernateTemplate etJpaTemplate - ainsi que quelques dépendances supplémentaires liées à la persistance:spring-jdbc etspring-tx.
La bibliothèque JDBC Data Access définit lesSpring JDBC support ainsi que lesJdbcTemplate, etspring-tx représente lesTransaction Management Abstraction extrêmement flexibles.
4. Spring MVC avec Maven
Pour utiliser le support Spring Web et Servlet, deux dépendances doivent être incluses dans lespom, à nouveau en plus des dépendances principales ci-dessus:
org.springframework
spring-web
${org.springframework.version}
org.springframework
spring-webmvc
${org.springframework.version}
La dépendancespring-web contient des utilitaires Web communs pour les environnements Servlet et Portlet, tandis quespring-webmvc enables the MVC support pour les environnements Servlet.
Puisquespring-webmvc aspring-web comme dépendance, la définition explicite despring-web n'est pas requise lors de l'utilisation despring-webmvc.
5. Sécurité de printemps avec Maven
LesSecurity Maven dependencies sont discutés en détail dans l'articleSpring Security with Maven.
6. Test de printemps avec Maven
Le Spring Test Framework peut être inclus dans le projet via la dépendance suivante:
org.springframework
spring-test
${spring.version}
test
Depuis Spring 3.2, le projet Spring MVC Test a été inclus dans le Core Test Framework - et donc, il suffit d'inclure la dépendancespring-test.
7. Utilisation des jalons
La version finale de Spring est hébergée sur Maven Central. Cependant, si un projet doit utiliser des versions jalon, un référentiel Spring personnalisé doit être ajouté au pom:
repository.springframework.maven.milestone
Spring Framework Maven Milestone Repository
http://repo.spring.io/milestone/
Une fois ce référentiel défini, le projet peut définir des dépendances telles que:
org.springframework
spring-core
3.2.0.RC2
8. Utiliser des instantanés
Semblables aux jalons, les instantanés sont hébergés dans un référentiel personnalisé:
repository.springframework.maven.snapshot
Spring Framework Maven Snapshot Repository
http://repo.spring.io/snapshot/
Une fois le référentiel SNAPSHOT activé dans le fichier pom.xml, les dépendances suivantes peuvent être référencées:
org.springframework
spring-core
3.3.0.BUILD-SNAPSHOT
Ainsi que - pour 4.x:
org.springframework
spring-core
4.0.3.BUILD-SNAPSHOT
9. Conclusion
Cet article décrit les détails pratiques de l'utilisation deSpring with Maven. Les dépendances Maven présentées ici sont bien sûr quelques-unes des principales, et plusieurs autres méritent d’être mentionnées et n’ont pas encore été retenues. Néanmoins, cela devrait être un bon point de départ pour utiliser Spring dans un projet.