Spring Framework: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Vitalij zad (discussione | contributi)
m Aggiorno i nomi di Jakarta EE e di Jakarta Persistence
 
(132 versioni intermedie di 88 utenti non mostrate)
Riga 1:
{{F|software libero|febbraio 2012}}
{{stub informatica}}
{{Software
'''Spring''' è un framework [[open source]] per lo sviluppo di
|Nome = Spring Framework
applicazioni web su piattaforma Java. La prima versione venne scritta da
|Logo =
[[Rod Johnson]] e rilasciata con la pubblicazione del proprio libro
|Screenshot =
"''Expert One-on-One Java EE Design and Development''" ([[Wrox Press]], [[Ottobre 2002]]).
|Didascalia =
|Sviluppatore =
|UltimaVersione =
|DataUltimaVersione =
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = multipiattaforma
|Linguaggio =
|Genere = web framework
|SoftwareLibero = sì
|Lingua =
}}
In [[informatica]] '''Spring''' è un ''[[framework]]'' [[open source]] per lo sviluppo di [[applicazione (informatica)|applicazioni]] su [[piattaforma Java]].
 
A questo ''framework'' sono associati tanti altri progetti, che hanno nomi composti come Spring Boot, Spring Data, Spring Batch, etc. Questi progetti sono stati ideati per fornire funzionalità aggiuntive al ''framework''.
All'inizio il framework venne rilasciato sotto [[Licenza Apache]] nel giungo
2003. Il primo rilascio importante è stato l'1.0 del marzo 2004, seguito da
due successivi rilasci importanti nel settembre 2004 e nel marzo 2005.
 
== Descrizione ==
Spring è stato largamente riconosciuto all'interno della comunità Java quale
La prima versione venne scritta da Rod Johnson e distribuita con la pubblicazione del proprio libro ''Expert One-on-One Java EE Design and Development'' (Wrox Press, ottobre 2002)<ref>{{Cita web |url=http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764543857.html |titolo=Expert One-on-One J2EE Design and Development |accesso=28 agosto 2017 |dataarchivio=7 maggio 2012 |urlarchivio=https://web.archive.org/web/20120507191345/http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764543857.html |urlmorto=sì }}</ref>.
valida alternativa al modello basato su [[EJB|Enterprise JavaBean]]
(''Enterprise JavaBean''). Rispetto a quest'ultimo, il framework Spring lascia una
maggiore libertà al programmatore fornendo allo stesso tempo un'ampia e ben
documentata gamma di soluzioni semplici adatte alle problematiche più comuni.
 
All'inizio il ''framework'' venne distribuito sotto [[Licenza Apache]] nel giugno 2003. La prima pubblicazione importante è avvenuta l'1 del marzo 2004, seguita da due successive distribuzioni importanti nel settembre 2004 e nel marzo 2005.
Sebbene le peculiarità basilari di Spring possano essere adottate in qualsiasi
applicazione Java, esistono numerose estensioni per la costruzione di applicazioni
''web-based'' costruite sul modello della piattaforma [[J2EE]]. Questo ha permesso a
Spring di raccogliere numerosi consensi e di essere riconosciuto anche da
importanti vendor commerciali quale framework di importanza strategica.
 
Spring è stato largamente riconosciuto all'interno della comunità [[linguaggio Java|Java]] quale valida alternativa al modello basato sugli [[Enterprise JavaBeans]] (EJB). Rispetto a quest'ultimo, il ''framework'' Spring lascia una maggiore libertà al [[programmatore]] fornendo allo stesso tempo un'ampia e ben documentata gamma di soluzioni semplici adatte alle problematiche più comuni.
== Storia ==
Nel 2000 [[Rod Johnson]] inizia lo sviluppo di Spring mentre lavora a Londra come consulente libero professionista, ma è durante la scrittura di "''Expert One-on-One Java EE Design and Development''" che espande il proprio codice al fine di esprimere la sua visione di semplificare e rendere più consistente il modo di interoperare delle varie parti che compongono una applicazione [[J2EE]].
 
Sebbene le peculiarità basilari di Spring possano essere adottate in qualsiasi applicazione Java, esistono numerose estensioni per la costruzione di [[Applicazione web|applicazioni web]] costruite sul modello della [[piattaforma (informatica)|piattaforma]] [[Java EE]]. Questo ha permesso a Spring di raccogliere numerosi consensi e di essere riconosciuto anche da importanti ''vendor'' commerciali quale ''framework'' di importanza strategica.
Prima del 2001 i modelli di programmazione dominanti per le applicazioni web erano basati sulle [[Java Servlet API]] e gli [[Enterprise JavaBean|Enterprise JavaBeans]]. Entrambe le specifiche furono create da [[Sun Microsystems]] in collaborazioni con altri vendor e godevano di grande popolarità all'interno della comunità Java. Le applicazioni che non erano basate sul web si appoggiavano ad altri strumenti e paradigmi di programmazione.
[[Rod Johnson]] ha avuto il merito di creare un framework basato su best practices largamente accettate e le ha rese disponibili per tutti i tipi di applicazione, non solo web.
 
Dalla versione 7, anche in Java Enterprise Edition è stata introdotta, con la specifica standard ''Context and Dependency Injection'', la possibilità di fare ''[[dependency injection]]'' allo stesso modo in cui si fa con Spring<ref>[https://docs.oracle.com/javaee/7/tutorial/cdi-basic.htm Introduction to Contexts and Dependency Injection for Java EE]</ref>.
Nel febbraio 2003 un piccolo gruppo di sviluppatori ha creato un progetto su [[Sourceforge]] al fine di estendere il framework e dopo circa un anno ha rilasciato la prima versione 1.0. Sebbene sia stato largamente adottato, Spring venne pesanetmente criticato per il fatto che il progetto si pone obiettivo la semplice integrazione con gli standard [[J2EE]] senza una documento di specifica controllato da comitato ufficiale.
 
=== Storia ===
Spring tuttavia rese popolari alcune tecniche prima d'allora poco note come l'[[Inversion of Control]] il paradignma di [[Programmazione Aspect-oriented]].
Nel 2000 [[Rod Johnson]] inizia lo sviluppo di Spring mentre lavora a [[Londra]] come consulente libero professionista, ma è durante la scrittura di "''Expert One-on-One Java EE Design and Development''" che espande il proprio [[codice sorgente|codice]] al fine di esprimere la sua visione di semplificare e rendere più consistente il modo di interoperare delle varie parti che compongono una applicazione [[J2EE]]Java EE.
Il 2005 ha visto un enorme aumento di consensi in concomitanza di un nuovo importante rilascio. Inoltre il [http://forum.springframework.org forum] ufficiale ha notevolmente aiutato ad accrescere la popolarità del framework e si è imposto quale fonte primaria di informazione e di supporto agli utenti.
 
Prima del 2001 i modelli di [[programmazione (informatica)|programmazione]] dominanti per le applicazioni web erano basati sulle [[Java [[Servlet API]] API e gli [[Enterprise JavaBean|Enterprise JavaBeans]]. Entrambe le specifiche furono create da [[Sun Microsystems]] in collaborazionicollaborazione con altri vendor e godevano di grande popolarità all'interno della comunità Java. Le applicazioni che non erano basate sul web si appoggiavano ad altri strumenti e [[paradigma di programmazione|paradigmi di programmazione]].
== Introduzione ==
[[Rod Johnson]] ha avuto il merito di creare un framework basato su bestprincipi practices''ottimali'' largamente accettateaccettati e lelo ha resereso disponibilidisponibile per tutti i tipi di applicazione, non solo web.
 
Nel febbraio 2003 un piccolo gruppo di sviluppatori ha creato un progetto su [[Sourceforge]] al fine di estendere il framework e dopo circa un anno ha rilasciatodistribuito la prima versione 1.0. Sebbene sia stato largamente adottato, Spring venne pesanetmentepesantemente criticato per il fatto che il progetto si poneponeva come obiettivo la semplice integrazione con gli standard [[J2EE]]Java EE senza unaun documento di specifica controllato da un comitato ufficiale.
=== I Moduli ===
 
Spring tuttavia rese popolari alcune tecniche prima d'di allora poco note, come l'[[Inversioninversione ofdel Controlcontrollo]] e il paradignma[[Paradigma di programmazione|paradigma]] di [[Programmazioneprogrammazione orientata agli Aspect-orientedaspetti]].
=== Inversion of Control ===
Il 2005 ha visto un enorme aumento di consensi in concomitanza di ununa nuovonuova importante rilasciodistribuzione. Inoltre il [http://forum.springframework.org forum] ufficiale ha notevolmente aiutato ad accrescere la popolarità del framework e si è imposto quale fonte primaria di informazione e di supporto agli utenti.
 
Nel 2013, SpringSource, la società che fino ad allora sviluppava Spring, è stata acquisita da Pivotal<ref>{{cita web|url=https://spring.io/blog/2013/04/03/spring-and-open-source-at-the-pivotal-initiative|titolo=Spring and Open Source at the Pivotal Initiative|accesso=29 agosto 2017}}</ref>.
=== Programmazione Aspect-oriented ===
 
=== AccessoSpring aiBoot dati ===
Prima della creazione del progetto Spring Boot, tutte le applicazioni basate su Spring avevano bisogno di un [[web server]], come [[Apache Tomcat|Tomcat]], [[Jetty]] o Undertow, per essere eseguite. Con Spring Boot, è possibile creare una applicazione avente un [[Funzione main|metodo main]] che lancia l'intera [[applicazione web]], compreso il web server integrato<ref>{{cita web|url=https://projects.spring.io/spring-boot/|titolo=Spring Boot|accesso=29 agosto 2017}}</ref>.
 
I progetti basati su Spring anteriori a Spring Boot vengono detti ''legacy'', cioè ereditati.
=== Gestione delle Transazioni ===
 
Nel caso in cui si abbia necessità di generare dei pacchetti di tipo [[WAR (formato di file)|WAR]] da usare all'interno di web server a partire da progetti Spring Boot, è possibile usare il [[Plugin (informatica)|plug-in]] di [[Apache Maven|Maven]] o quello di [[Gradle]].
=== Il Pattern Model-View-Controller ===
 
=== AccessoSpring RemotoTool Suite ===
Spring Tool Suite è un [[ambiente di sviluppo integrato]], derivato da [[Eclipse IDE|Eclipse]], che permette uno sviluppo più veloce di applicativi basati su Spring<ref>{{cita web|url=https://spring.io/tools|titolo=Spring Tool Suite|accesso=29 agosto 2017 |lingua = inglese}}</ref>. Fornisce supporto al linguaggio Java, al ''framework'' Spring e all'eventuale ambiente di sviluppo.
 
== Note ==
=== Autenticazione e Autorizzazioni ===
<references/>
 
=== GestioneBibliografia Remota ===
* {{cita libro | nome=Craig | cognome=Walls | titolo=Spring in Action, Fourth Edition | anno=2014 | editore=Manning | città=New York | url=https://www.manning.com/books/spring-in-action-fourth-edition }}
 
== AltriVoci framework MVCcorrelate ==
* [[Inversione del controllo]]
* [[Dependency injection]]
* [[Enterprise JavaBeans]]
* [[Jakarta EE]]
* [[Jakarta Persistence]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Framework per applicazioni web}}
{{Controllo di autorità}}
{{Portale|internet|software libero|telematica}}
 
[[Categoria:Java EE]]
{{Categorizzare}}