JavaRush /Java Blog /Random-IT /Vantaggi dell'utilizzo di Spring
Alex
Livello 37

Vantaggi dell'utilizzo di Spring

Pubblicato nel gruppo Random-IT
Molti sviluppatori alle prime armi prima o poi si imbattono in Spring , un popolare framework per lo sviluppo di applicazioni in Java. La cosa principale che Spring ti permette di fare è semplificare lo sviluppo di applicazioni J2EE per lo sviluppatore. Ecco i principali vantaggi che uno sviluppatore ottiene quando utilizza Spring:
Vantaggi dell'utilizzo di Spring - 1
  • Spring fornisce un framework per la tua futura applicazione, se desideri uno "spazio vuoto" per la tua futura applicazione. Allo stesso tempo, il framework detta le regole per la creazione dell'applicazione: esiste una certa architettura applicativa in cui è necessario creare le proprie funzionalità. Questa funzionalità sarà effettivamente la logica aziendale della tua applicazione. Spring include molti sottoprogetti adattati a funzionalità specifiche (SpringMVC, Spring Security, SpringData, ecc. l'elenco completo può essere visto su https://spring.io/projects ), da cui lo sviluppatore può scegliere quello più adatto a lui, e non utilizzare il resto: questo è un principio modulare per la creazione di un'applicazione;

  • In un'applicazione basata su Spring, gli oggetti vengono accoppiati liberamente tramite l'uso dell'inserimento delle dipendenze. Uno degli obiettivi di Spring era rompere la dipendenza di alcuni oggetti da altri. Cos'è la dipendenza? Questo accade quando l'Oggetto1 utilizza i metodi di un altro Oggetto2, ovvero l'Oggetto1 dipende dall'Oggetto2, di cui utilizza i metodi. Perché dipende? Ma poiché finché non viene creato l'oggetto Oggetto2, Oggetto1 non sarà in grado di implementare le sue funzionalità. Come rompere la dipendenza? "Iniettare" un riferimento all'oggetto Object2 nell'oggetto Object1 tramite un costruttore o un setter. Questo processo è in realtà l'iniezione di dipendenza. È importante ricordare che in Spring gli oggetti devono essere costruiti sulla base di interfacce, in modo che le dipendenze vengano iniettate sotto forma di interfaccia per un'eventuale successiva sostituzione dell'implementazione.

  • non è necessario creare oggetti manualmente utilizzando l'operatore new. Questa funzione è stata delegata al contenitore Spring. Questa è l'inversione del controllo (IoC): trasferire la funzione di istanziare le dipendenze (oggetti) necessarie al contenitore. Qual è il ruolo dello sviluppatore in tutto questo, chiedi? Dichiarare il componente in modo che rientri nel contesto Spring. Il contesto di Spring, in poche parole, è una mappa in cui si trovano tutti i fagioli. Quando dicono che un fagiolo è nel contesto della Primavera, considera che il fagiolo è nella mappa e che Primavera conosce la chiave per ottenerlo dalla mappa. Tutto ciò che è contrassegnato come bean nella configurazione xml o nelle classi con annotazioni @Component viene istanziato e inserito in una mappa del formato Map<key,bean> map, ovvero il contenitore ha una mappa dove “immagazzina” tutti i bean (il concetto chiave in Spring è un bean, questa è un'entità gestita dal contenitore. Affinché un bean (classe ordinaria) diventi gestito, deve rientrare nella Spring context.) e, se necessario, implementazione, il contenitore fa qualcosa del genere: map.get(key), la chiave è il tipo di campo;

  • La primavera ti libera non solo dalla necessità di creare oggetti, ma anche di associarli. Ad esempio, l'annotazione @Autowired consente di cablare automaticamente i componenti. L'annotazione primaverile @Autowired potrebbe essere descritta semplicemente in questo modo: caro amico, contenitore primaverile, per favore guarda nella tua mappa con i fagioli per vedere se hai la classe istanza di o implementa ciò che mi trovo di fronte. Se c'è, dammi un link nel campo davanti al quale sono dichiarato. Il collegamento automatico consente di ridurre la quantità di codice durante la determinazione delle dipendenze dei componenti;

  • In Spring, le impostazioni del bean sono separate dal codice del programma. Lo spostamento della configurazione (gestione delle dipendenze) in un file separato facilita le successive modifiche al progetto (sostituzione delle implementazioni):


    • testabilità migliorata. Quando le classi sono progettate in base a DI e interfacce, diventa possibile sostituire facilmente le dipendenze (con implementazioni false) durante i test;

    • la capacità di programmare in stile dichiarativo utilizzando le annotazioni riduce la quantità di codice nell'applicazione;

    • il supporto e una buona integrazione con le tecnologie di accesso ai dati, le transazioni, l'AOP semplifica lo sviluppo;

    • una buona documentazione aiuta molto durante il debug di un'applicazione;
Per chi vuole capire la Primavera consiglio la lettura di K. Walls. Spring in Action - 3a edizione e ovviamente la documentazione ufficiale.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION