Un cadre pour la construction d'applications Web Java basé sur le modèle Model-View-Controller (MVC). Il favorise un code flexible et découplé des technologies de vue sous-jacentes.

Spring MVCest un framework Web basé sur l'action (par opposition à un composant) construit au-dessus du Spring IOC Container. MVC signifie Model View Controller, un modèle de conception de longue date qui superpose une application séparant les problèmes de présentation de la logique métier, voir Entrée MVC du Portland Pattern Repository.

La dernière version stable est 5.1.4 et a été publiée en janvier 2019, et les documents actuels peuvent être trouvés dans la section MVCde la Spring Reference.

Spring Version 5.0 prend entièrement en charge les fonctionnalités de Java 9, cette version nécessite désormais Java SE 8.

Communiqués majeurs du printemps

  • Première sortie: année 2004
  • Spring 2.0: prise en charge des xmlespaces de noms et de la prise en charge aspectj.
  • Spring 2.5: Configuration basée sur les annotations
  • Spring 3.0: solide fondation Java 5+ dans le cadre, introduction du modèle @Configuration
  • Spring 3.2: Introduction de la configuration basée sur Java
  • Spring 4.0: prise en charge de Java 8, suppression des classes obsolètes.
  • Spring 5.0: Java 9 Support, support de programmation réactive

Le Spring Framework comprend plusieurs modules qui fournissent une gamme de services:

  • spring-iocInversion du conteneur Control: configuration des composants d'application et gestion du cycle de vie des objets java, fait principalement via l'injection de dépendance
  • spring-aopProgrammation orientée aspect: permet la mise en œuvre de routines transversales
  • spring-dataAccès aux données: utilisation des systèmes de gestion de bases de données relationnelles sur la plate-forme javaà l'aide de jdbc et des outils de mappage relationnel-objet et avec des bases de données nosql
  • spring-transactionsGestion des transactions: unifie plusieurs API de gestion des transactions et coordonne les transactions pour les objets Java
  • spring-mvcModel-view-controller: un framework basé sur HTTP et servlet fournissant des crochets pour l'extension et la personnalisation des applications Web et des services Web RESTfull.
  • spring-remotingFramework d'accès à distance: exportation et importation configurables de style RPC d'objets Java sur des réseaux prenant en charge rmi, corbaet les protocoles HTTP, y compris les services Web (soap)
  • Convention sur configuration: une solution de développement rapide d'applications pour les applications d'entreprise basées sur Spring est proposée dans le module spring-roo
  • spring-batchTraitement par lots: un cadre pour le traitement de gros volumes comprenant des fonctions réutilisables, notamment la journalisation / le traçage, la gestion des transactions, les statistiques de traitement des travaux, le redémarrage des travaux, ignorer, et gestion des ressources
  • Authentification et autorisation: processus de sécurité configurables qui prennent en charge une gamme de normes, protocoles, outils et pratiques via le sous-projet Spring Security (anciennement - Acegi Security System for spring) .
  • spring-remotingGestion à distance: exposition configurative et gestion des objets Java pour la configuration locale ou à distance via jmx.
  • spring-messagingMessagerie: enregistrement configuratif des objets écouteurs de messages pour une consommation de messages transparente à partir des files d'attente de messages via jms, amélioration de l'envoi de messages - - API jmsstandard
  • spring-testTesting: classes de support pour l'écriture de tests unitaires et de tests d'intégration