Cos'è Spring Framework? - Percorso verso uno sviluppo efficiente



Questo blog su cos'è Spring Framework parla del framework Java ampiamente utilizzato - Spring. Spiega anche perché e come usare Spring Framework con esempi.

Nel mondo frenetico di oggi, abbiamo bisogno che tutto sia veloce. Non vogliamo tenerci impegnati in un lavoro per troppo tempo, lascia che sia qualcosa come viaggiare, fare shopping, studiare o lavorare. Quando si tratta di codifica, vogliamo che le nostre applicazioni vengano sviluppate nel più breve periodo di tempo, ma che forniscano la massima efficienza. Potremmo avere fretta, ma comunque non possiamo né scendere a compromessi con la nostra qualità né vogliamo impegnarci troppo. Allora qual è la soluzione? I framework funzionano al meglio in questa situazione. Ci sono vari Framework disponibili sul mercato, tra cui pochi vengono utilizzati come: Spring, Hibernate, Struts ecc. Attraverso questo blog scopriamo cos'è Spring Framework e perché è così popolare nel mercato!

Prima di iniziare, diamo un'occhiata agli argomenti che tratterò in questo blog:





Java Framework

Perché dovremmo scegliere Frameworks?Andiamocapiscilo con il nostro amico, Coddy .

Coddy in problem - What Is Spring Framework - Edureka!



Coddy viene assegnato un compito per sviluppare un'applicazione, ma il tempo assegnato non è sufficiente per completarlo. Deve scrivere molte righe di codice (LOC) da solo. È molto faticoso e richiede molto tempo. È confuso su cosa dovrebbe fare! Da dove dovrebbe iniziare!

Coddy inizia a pensare a una soluzione al suo problema. Ha bisogno di qualcosa che sia veloce ed efficiente per risparmiare tempo e fatica, come qualcosa di già pronto.



All'improvviso, l'idea di utilizzare Frameworks lo colpisce. I quadri sono veloci, efficienti e leggeri. Sono grandi corpi di codici predefiniti che possiamo facilmente aggiungere al nostro codice per risolvere un problema specifico.

Codifica utilizzando il Framework. Sorprendentemente il codice si adattava facilmente al framework.

Coddy ora, può programmare più velocemente e completare la sua domanda entro il periodo di tempo stabilito. Inoltre, è libero di scrivere migliaia di righe di codice non funzionante.

Dopo aver distribuito l'applicazione sviluppata utilizzando il Framework, ha scoperto che veniva eseguita con una velocità molto più elevata e anche il suo throughput è aumentato rispetto ad altre applicazioni sviluppate senza utilizzare il Framework.

Quindi, iniziamo ora con Java Frameworks.

Come sono nati i framework Java?

Alla fine degli anni '90 le applicazioni sono state ampiamente sviluppate utilizzando gli standard JEE. La premessa di J2EE era multipiattaforma / multi-vendor, se puoi codificare secondo gli standard J2EE puoi distribuire la tua applicazione su qualsiasi application server J2EE indipendentemente dalla piattaforma. L'esecuzione del codice su qualsiasi server delle applicazioni fornisce molti vantaggi come: gestione delle transazioni, messaggistica, posta, interfaccia directory, ecc. Ma poiché nulla è facile in questo mondo, lavorare con J2EE ha avuto anche alcune difficoltà.

  • MoltoComplesso : Enterprise Java Bean è stato sviluppato per ridurre la complessità nelle applicazioni J2EE. Ma non è riuscito nel suo scopo nell'attuazione. Il motivo è che, durante la scrittura di un componente, è necessario scrivere un set di file XML, interfacce home, interfacce remote / locali, ecc.
  • Problema di 'ricerca': Ogni volta che un componente dipendeva da un altro componente, doveva cercare i componenti da cui dipendeva da solo. La 'ricerca' di questo componente avviene solo per nome, quindi il nome della dipendenza era hardcoded nel componente.
  • Peso elevato: Come unTutte le funzionalità come clustering, remoting, ecc. erano supportate, è necessario configurarle, indipendentemente dal fatto che ne abbiate bisogno o meno. Questo renderà le tue applicazioni gonfie.

È così che è nato Java Frameworks. I Java Frameworks non sono altro che grandi corpi di codice predefinito che puoi applicare al tuo codice per risolvere il tuo problema in un dominio specifico. È possibile utilizzare un framework chiamando i suoi metodi, ereditarietà, fornendo 'callback', listener o altre implementazioni del Osservatore modello.

Comprendiamolo attraverso una rappresentazione pittorica:

Ma come riducono esattamente il nostro lavoro e rendono efficienti i nostri codici? Per capirlo passare attraverso quanto segue vantaggiesvantaggidi questi quadri. Cominciamo con il vantaggi .

Efficienza:

Le attività che generalmente richiedono ore e centinaia di righe di codice per la composizione, ora possono essere eseguite in pochi minuti con funzioni predefinite. Lo sviluppo diventa molto più semplice, quindi se è molto più facile, è molto più veloce e, di conseguenza, più efficace.

Sicurezza:

Un framework ampiamente utilizzato avrà generalmente grandi dimensionisicurezzaapplicazioni. Il grande vantaggio è ilQuartieredietro quel quadro, dove gli utenti di solito finiscono per essere tester di lunga durata. Se trovi una vulnerabilità o una falla nella sicurezza, puoi visitare il sito web del framework e informarli in modo che possa essere risolto.

Spese:

Le strutture più popolari sono gratuite e quindi aiutano lo sviluppatore a programmare più velocemente. Se la codifica viene eseguita più velocemente, la spesa per il cliente finale sarà sicuramente inferiore in ogni aspetto, sia esso tempo o fatica. Inoltre anche il costo di manutenzione è basso.

Supporto:

Come qualsiasi altro strumento distribuito, un framework generalmente include documenti, un gruppo di supporto o forum online di una vasta comunità in cui è possibile acquisire risposte rapide.

Nonostante tutti questi vantaggi, Java Frameworks ne ha alcuni svantaggi , piace:

fibonacci iterativo c ++


Restrizioni:

Il comportamento fondamentale del framework non può essere modificato, il che indica che quando si utilizza un framework, è necessario rispettarne i limiti e lavorare nel modo in cui è richiesto. Pertanto, è necessario assicurarsi di scegliere un framework adatto alle proprie esigenze.

Il codice è pubblico:

Poiché il framework è prontamente disponibile per tutti, iViene offerto anche a persone con cattive intenzioni. Può essere studiato per sapere come funzionano le cose e per scoprire difetti che possono essere utilizzati contro di te.

Personalizzato Caratteristiche:

Quando si utilizza un framework, si conosce molto poco il linguaggio che sta dietro perché le funzionalità in esso contenute sono personalizzate.Quando si utilizzano funzionalità personalizzate, è molto probabile che sia necessario utilizzarle secondo gli standard del framework che potrebbero differire dal concetto originale.

Adessoquelloconosci i vantaggi e gli svantaggidei quadri,scegli il tuo framework in base alle tue necessità. Esistono vari tipi di framework disponibili sul mercato. Il diagramma sotto mostra alcuni di loro:

Quindi, in questo blog ci concentreremo su Spring Framework.

Cos'è Spring Framework?

Qui sorge la domanda 'Cos'è Spring Framework'?

Spring Framework è un framework di sviluppo di applicazioni leggero e potente utilizzato per Enterprise Java (JEE).

Le funzionalità principali di Spring Framework possono essere utilizzate nello sviluppo di qualsiasi applicazione Java.Può essere descritto comequadro completo e modulare. Spring Framework può essere utilizzato per tutte le implementazioni a livello di un'applicazione in tempo reale. Può anche essere utilizzato per lo sviluppo di particolari layer di un'applicazione in tempo reale a differenza di Struts e Hibernate, ma con Spring possiamo sviluppare tutti i layer.

Si trattava di cos'è Spring Framework, ma come è stato sviluppato? Ebbene, c'è una storia interessante alle spalle. Diamo uno sguardo alla storia e all'origine di Spring Framework.

Nell'ottobre 2002, Rod Johnson , uno specialista di computer australiano, ha scritto un libro intitolato Expert One-on-One J2EE Design and Development. In questo libro ha proposto una soluzione più semplice basata sulle ordinarie classi Java (POJO) e sull'inserimento di dipendenze. Ha scritto oltre 30.000 righe di codice dell'infrastruttura che includeva un numero di interfacce e classi java riutilizzabili per lo sviluppo dell'applicazione. Intorno al febbraio 2003, Rod, Juergen e Yann hanno iniziato a collaborare al progetto Spring. Il nome 'Primavera' è stato dato perché significava un nuovo inizio dopo 'Inverno' del tradizionale J2EE.

Di seguito è riportata la sequenza temporale mostrata sulle principali versioni nella storia della primavera:

È stato chiamato Interface 21, come riferimento al 21 ° secolo e rilasciato con licenza Apache 2.0.
Questa è stata la prima pietra miliare del rilascio. Il framework Spring si è evoluto rapidamente da questa versione. Interface21 supportava AspectJ parallelamente a Spring Framework.
Sono state aggiunte nuove funzionalità: configurazioni XML estendibili, supporto per Java 5 e linguaggi dinamici, punti di estensione IoC e miglioramenti AOP.
Sono state aggiunte nuove funzionalità: supporto per Java 6 / JEE5, configurazioni di annotazioni, rilevamento automatico dei componenti in classpath e bundle conformi a OSGi.
Sono state aggiunte nuove funzionalità: supporto per il sistema di moduli riorganizzato, SpEL, JavaConfig, database incorporati, supporto REST e supporto per Java EE 6.
Il progetto Spring Data Commons è stato rilasciato. Più tardi, nel 2012, Rod Johnson ha lasciato il team Spring.
Tutti i progetti di primavera sono passati a Pivotal. Sono state aggiunte nuove funzionalità: supporto completo per Java 8, websocket, dipendenze di librerie di terze parti più elevate, DSL groovy per le definizioni dei bean.
Era compatibile con Java 6, 7 e 8, con particolare attenzione ai perfezionamenti principali e alle moderne funzionalità web.
Sarà l'ultima generazioneentro i requisiti di sistema generali di Spring 4. 4.3.8 è la versione attuale.

Perché Spring Framework?

Di seguito è riportato un grafico che mostra il confronto tra Spring e vari altri Framework.

Di seguito è riportato un grafico basato su un sondaggio,a partire da maggio 2016. Come puoi vedere dal grafico che Spring Framework è molto popolare nel suo dominio e ha continuato a mantenere la sua posizione su tattivo dal 2014.

Motivi per Spring Framepopolarità delle opere

Ci sono generalmente tre ragioni principali per la popolarità di Spring Framework.

  1. Semplicità
  2. Testabilità
  3. Accoppiamento lasco

Discutiamo questi argomenti in dettaglio.

Semplicità: Spring Framework è semplice perché non invasivo in quanto utilizza modelli POJO e POJI.

  • POJO (Plain Old Java Objects): AViene chiamata la classe Java non accoppiata a nessuna tecnologia o framework ' POJO ' .
  • POJI (Plain Old Java Interfaces): viene chiamata un'interfaccia Java non accoppiata a nessuna tecnologia o frame work ' POJI ' .

Testabilità : Per aver scritto la Sbambùapplicazione, il server non è obbligatorio. Ma per strut e applicazioni EJB, è necessario un server, se si desidera testare l'applicazione. Potrebbe essere necessario apportare molte modifiche all'origine e per visualizzare tali modifiche, ogni volta che è necessario riavviare il server. Questo diventa noioso e richiede tempo. In caso diSpring Framework, ha il proprio contenitore per eseguire l'appcationi.

Accoppiamento lasco : Spring Framework è debolmente accoppiato perché ha concetti come Dependency Injection, AOP ecc. Queste caratteristiche aiutano a ridurre la dipendenza e ad aumentare la modularità all'interno del codice. Capiamo questo con un esempio.

Qui ho un'interfaccia Bike che ha un metodo start (). È ulteriormente implementato da tre classi, vale a dire: Yamaha, Honda e Bajaj.

interfaccia pubblica Bike {public void start ()}

Qui una classe Rider crea un oggetto di qualsiasi classe che implementa l'interfaccia Bike.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Ora il contenitore Spring Framework può iniettare un oggetto di qualsiasi classe che implementa l'interfaccia Bike, secondo il requisito. Ecco come funziona l'accoppiamento lento.

Spring Framework Architecture

Come puoi vedere dal diagramma sopra, Spring ha un'architettura a strati composta da diversi moduli che hanno le proprie funzionalità. Questi moduli sono generalizzati nei seguenti livelli:

  • Contenitore principale
  • Accesso / integrazione dei dati
  • ragnatela
  • AOP (Aspect Oriented Programming)
  • Strumentazione
  • Test.

Forse ti starai chiedendo, qual è il vantaggio di Spring Framework di avere un'architettura a strati? Scopriamolo attraverso i seguenti punti:

  • Spring Framework organizza efficacemente i tuoi oggetti di livello intermedio.
  • Indipendentemente dall'ambiente di runtime, i servizi di gestione della configurazione di Spring Framework possono essere utilizzati in qualsiasi livello di architettura.
  • Spring Framework gestisce la configurazione in modo coerente in tutta l'applicazione. Ciò elimina la necessità di utilizzare una varietà di formati di file con proprietà personalizzate.
  • Spring Framework è progettato in modo tale che le applicazioni create con esso dipenderanno dal minor numero possibile di API.
  • A causa dell'uso delle interfacce,Spring Framework facilita le buone pratiche di programmazione.

Per capire completamente cos'è Spring Framework, vediamo una semplice applicazione Spring Framework. Segui i cinque semplici passaggi:

Passaggio I: creazione della classe Bean

pacchetto org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Hello: '+ nome)}}

Passaggio II: crea un file XML

 

Passaggio III: crea la classe principale

pacchetto org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContexml StudentConigxml ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Passaggio IV: carica i file jar

Carica i seguenti file jar.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-bean-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

NOTA: Nel caso abbiate bisogno dei file jar, commentate di seguito.

Passaggio V: eseguire il programma

Esegui il programma sul tuo server per testare l'applicazione.

Spero di essere stato in grado di spiegare chiaramente cos'è Spring Framework, come funziona esattamente e per cosa viene utilizzato. Fai anche riferimento al video su “What Is Spring Framework”, dove l'istruttore descrive gli argomenti discussi in questo blog insieme a dimostrazioni pratiche.

Cos'è Spring Framework in Java | Tutorial su Spring Framework | Edureka

Se sei interessato a saperne di più sullo Spring Framework, resta sintonizzato su questa mia serie di blog perché ne uscirò un altro su che parlerà di concetti più avanzati in primavera.

Se vuoi imparare la primavera e desideri usarlo durante lo sviluppo di applicazioni Java, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.