Spring Framework - Architettura

La primavera potrebbe potenzialmente essere uno sportello unico per tutte le applicazioni aziendali. Tuttavia, Spring è modulare, permettendoti di scegliere quali moduli sono applicabili a te, senza dover portare il resto. La sezione seguente fornisce dettagli su tutti i moduli disponibili in Spring Framework.

Spring Framework fornisce circa 20 moduli che possono essere utilizzati in base a un requisito dell'applicazione.

Contenitore principale

Il Core Container è costituito dai moduli Core, Beans, Context e Expression Language i cui dettagli sono i seguenti:

  • Il Core Il modulo fornisce le parti fondamentali del framework, incluse le funzionalità IoC e Dependency Injection.

  • Il Bean module fornisce BeanFactory, che è un'implementazione sofisticata del pattern factory.

  • Il ContextIl modulo si basa sulla solida base fornita dai moduli Core e Beans ed è un mezzo per accedere a qualsiasi oggetto definito e configurato. L'interfaccia ApplicationContext è il punto focale del modulo Context.

  • Il SpEL Il modulo fornisce un potente linguaggio di espressione per interrogare e manipolare un oggetto grafico in fase di esecuzione.

Accesso / integrazione dei dati

Il livello di accesso / integrazione dei dati è costituito dai moduli JDBC, ORM, OXM, JMS e Transaction i cui dettagli sono i seguenti:

  • Il JDBC Il modulo fornisce un livello di astrazione JDBC che elimina la necessità di noiose codifiche relative a JDBC.

  • Il ORM fornisce livelli di integrazione per le API più diffuse di mappatura relazionale a oggetti, tra cui JPA, JDO, Hibernate e iBatis.

  • Il OXM Il modulo fornisce un livello di astrazione che supporta le implementazioni di mapping Object / XML per JAXB, Castor, XMLBeans, JiBX e XStream.

  • Il servizio di messaggistica Java JMS Il modulo contiene funzionalità per produrre e consumare messaggi.

  • Il Transaction Il modulo supporta la gestione delle transazioni programmatica e dichiarativa per le classi che implementano interfacce speciali e per tutti i POJO.

ragnatela

Il livello Web è costituito dai moduli Web, Web-MVC, Web-Socket e Web-Portlet i cui dettagli sono i seguenti:

  • Il Web Il modulo fornisce funzionalità di integrazione orientate al Web di base come la funzionalità di caricamento di file in più parti e l'inizializzazione del contenitore IoC utilizzando listener servlet e un contesto applicativo orientato al Web.

  • Il Web-MVC Il modulo contiene l'implementazione di Spring Model-View-Controller (MVC) per le applicazioni web.

  • Il Web-Socket Il modulo fornisce il supporto per la comunicazione bidirezionale basata su WebSocket tra il client e il server nelle applicazioni web.

  • Il Web-Portlet Il modulo fornisce l'implementazione MVC da utilizzare in un ambiente portlet e rispecchia la funzionalità del modulo Web-Servlet.

Miscellanea

Ci sono pochi altri moduli importanti come i moduli AOP, Aspects, Instrumentation, Web e Test i cui dettagli sono i seguenti:

  • Il AOP Il modulo fornisce un'implementazione della programmazione orientata agli aspetti che consente di definire intercettori di metodi e pointcuts per disaccoppiare in modo pulito il codice che implementa funzionalità che dovrebbero essere separate.

  • Il Aspects Il modulo fornisce l'integrazione con AspectJ, che è di nuovo un framework AOP potente e maturo.

  • Il Instrumentation Il modulo fornisce il supporto della strumentazione di classe e le implementazioni del programma di caricamento classi da utilizzare in determinati server delle applicazioni.

  • Il MessagingIl modulo fornisce il supporto per STOMP come sottoprotocollo WebSocket da utilizzare nelle applicazioni. Supporta inoltre un modello di programmazione delle annotazioni per l'instradamento e l'elaborazione dei messaggi STOMP dai client WebSocket.

  • Il Test Il modulo supporta il test dei componenti Spring con framework JUnit o TestNG.