Framework Spring - Architecture

Spring pourrait potentiellement être un guichet unique pour toutes vos applications d'entreprise. Cependant, Spring est modulaire, vous permettant de choisir les modules qui vous conviennent, sans avoir à apporter le reste. La section suivante fournit des détails sur tous les modules disponibles dans Spring Framework.

Spring Framework fournit environ 20 modules qui peuvent être utilisés en fonction des besoins d'une application.

Conteneur principal

Le Core Container comprend les modules Core, Beans, Context et Expression Language dont les détails sont les suivants:

  • le Core Le module fournit les parties fondamentales du framework, y compris les fonctionnalités IoC et Dependency Injection.

  • le Bean module fournit BeanFactory, qui est une implémentation sophistiquée du modèle d'usine.

  • le Contextmodule s'appuie sur la base solide fournie par les modules Core et Beans et c'est un moyen d'accéder à tous les objets définis et configurés. L'interface ApplicationContext est le point central du module Contexte.

  • le SpEL module fournit un langage d'expression puissant pour interroger et manipuler un graphique d'objets lors de l'exécution.

Accès aux données / intégration

La couche Accès / Intégration aux données se compose des modules JDBC, ORM, OXM, JMS et Transaction dont le détail est le suivant -

  • le JDBC Le module fournit une couche d'abstraction JDBC qui supprime le besoin de codage fastidieux lié à JDBC.

  • le ORM Le module fournit des couches d'intégration pour les API de mappage objet-relationnel populaires, notamment JPA, JDO, Hibernate et iBatis.

  • le OXM Le module fournit une couche d'abstraction qui prend en charge les implémentations de mappage objet / XML pour JAXB, Castor, XMLBeans, JiBX et XStream.

  • Le service de messagerie Java JMS Le module contient des fonctionnalités pour produire et consommer des messages.

  • le Transaction module prend en charge la gestion des transactions programmatiques et déclaratives pour les classes qui implémentent des interfaces spéciales et pour tous vos POJO.

la toile

La couche Web se compose des modules Web, Web-MVC, Web-Socket et Web-Portlet dont les détails sont les suivants:

  • le Web Le module fournit des fonctionnalités d'intégration orientées Web de base telles que la fonctionnalité de téléchargement de fichiers en plusieurs parties et l'initialisation du conteneur IoC à l'aide d'écouteurs de servlet et d'un contexte d'application orienté Web.

  • le Web-MVC Le module contient l'implémentation MVC (Model-View-Controller) de Spring pour les applications Web.

  • le Web-Socket Le module prend en charge la communication bidirectionnelle basée sur WebSocket entre le client et le serveur dans les applications Web.

  • le Web-Portlet module fournit l'implémentation MVC à utiliser dans un environnement de portlet et reflète la fonctionnalité du module Web-Servlet.

Divers

Il existe peu d'autres modules importants tels que les modules AOP, Aspects, Instrumentation, Web et Test dont les détails sont les suivants -

  • le AOP module fournit une implémentation de programmation orientée aspect qui vous permet de définir des intercepteurs de méthode et des coupures de points pour découpler proprement le code qui implémente les fonctionnalités qui doivent être séparées.

  • le Aspects module fournit une intégration avec AspectJ, qui est à nouveau un framework AOP puissant et mature.

  • le Instrumentation Le module fournit une prise en charge d'instrumentation de classe et des implémentations de chargeur de classe à utiliser dans certains serveurs d'applications.

  • le MessagingLe module prend en charge STOMP en tant que sous-protocole WebSocket à utiliser dans les applications. Il prend également en charge un modèle de programmation d'annotations pour le routage et le traitement des messages STOMP des clients WebSocket.

  • le Test Le module prend en charge le test des composants Spring avec les frameworks JUnit ou TestNG.