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.