Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Spring Framework - Teknopedia
Spring Framework - Teknopedia
Niente fonti!
Questa voce o sezione sull'argomento software libero non cita le fonti necessarie o quelle presenti sono insufficienti.

Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento.
Spring Framework
software
Logo
Logo
GenereFramework per applicazioni web
SviluppatoreVMware Inc.
Ultima versione7.0.0 (13 novembre 2025)
Sistema operativoMultipiattaforma
LinguaggioKotlin
Java
Apache Groovy
Licenzalicenza Apache 2.0
(licenza libera)
Sito webspring.io/projects/spring-framework
Modifica dati su Wikidata · Manuale

In informatica Spring è un framework open source per lo sviluppo di 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.

Descrizione

[modifica | modifica wikitesto]

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)[1].

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.

Spring è stato largamente riconosciuto all'interno della comunità 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.

Sebbene le peculiarità basilari di Spring possano essere adottate in qualsiasi applicazione Java, esistono numerose estensioni per la costruzione di applicazioni web costruite sul modello della 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.

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[2].

Storia

[modifica | modifica wikitesto]

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 Java EE.

Prima del 2001 i modelli di programmazione dominanti per le applicazioni web erano basati sulle Java Servlet API e gli Enterprise JavaBeans. Entrambe le specifiche furono create da Sun Microsystems in collaborazione 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 principi ottimali largamente accettati e lo ha reso disponibile 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 distribuito la prima versione 1.0. Sebbene sia stato largamente adottato, Spring venne pesantemente criticato per il fatto che il progetto si poneva come obiettivo la semplice integrazione con gli standard Java EE senza un documento di specifica controllato da un comitato ufficiale.

Spring rese popolari alcune tecniche prima di allora poco note, come l'inversione del controllo e il paradigma di programmazione orientata agli aspetti. Il 2005 ha visto un enorme aumento di consensi in concomitanza di una nuova importante distribuzione. Inoltre il 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[3].

Spring Boot

[modifica | modifica wikitesto]

Prima della creazione del progetto Spring Boot, tutte le applicazioni basate su Spring avevano bisogno di un web server, come Tomcat, Jetty o Undertow, per essere eseguite. Con Spring Boot, è possibile creare una applicazione avente un metodo main che lancia l'intera applicazione web, compreso il web server integrato[4].

I progetti basati su Spring anteriori a Spring Boot vengono detti legacy, cioè ereditati.

Nel caso in cui si abbia necessità di generare dei pacchetti di tipo WAR da usare all'interno di web server a partire da progetti Spring Boot, è possibile usare il plug-in di Maven o quello di Gradle.

Spring Tool Suite

[modifica | modifica wikitesto]

Spring Tool Suite è un ambiente di sviluppo integrato, derivato da Eclipse, che permette uno sviluppo più veloce di applicativi basati su Spring[5]. Fornisce supporto al linguaggio Java, al framework Spring e all'eventuale ambiente di sviluppo.

Note

[modifica | modifica wikitesto]
  1. ^ Expert One-on-One J2EE Design and Development, su wrox.com. URL consultato il 28 agosto 2017 (archiviato dall'url originale il 7 maggio 2012).
  2. ^ Introduction to Contexts and Dependency Injection for Java EE, su docs.oracle.com.
  3. ^ Spring and Open Source at the Pivotal Initiative, su spring.io. URL consultato il 29 agosto 2017.
  4. ^ Spring Boot, su projects.spring.io. URL consultato il 29 agosto 2017.
  5. ^ (EN) Spring Tool Suite, su spring.io. URL consultato il 29 agosto 2017.

Bibliografia

[modifica | modifica wikitesto]
  • Craig Walls, Spring in Action, Fourth Edition, New York, Manning, 2014.

Voci correlate

[modifica | modifica wikitesto]
  • Inversione del controllo
  • Dependency injection
  • Enterprise JavaBeans
  • Jakarta EE
  • Jakarta Persistence

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Spring framework

Collegamenti esterni

[modifica | modifica wikitesto]
  • (EN) Sito ufficiale, su spring.io. Modifica su Wikidata
  • Repository sorgenti di Spring Framework, su github.com. Modifica su Wikidata
  • (EN) Spring Framework, su Free Software Directory. Modifica su Wikidata
V · D · M
Framework per applicazioni web
C++CppCMS · Wt
CLIASP.NET (Core · AJAX · Dynamic Data · MVC · Razor · Web Forms) · Blazor · DNN · BFC · MonoRail · OpenRasta · Umbraco · WebSharper
ColdFusionCFWheels · ColdBox Platform · ColdSpring · Fusebox · Model-Glue
Common LISPCaveman2 · CL-HTTP · Weblocks
HaskellYesod · Snap
JavaAppFuse · Flexive · Grails · GWT · ICEfaces · ItsNat · JavaServer Faces · JHipster · Jspx · JWt · OpenXava · Play · Remote Application Platform · RIFE · Seam · Sling · Spring · Stripes · Struts · Tapestry · Vaadin · Vert.x · WebWork · Wicket · WaveMaker · ZK
JavaScriptAngular/AngularJS · Backbone.js · Chaplin.js · Closure · Dojo Toolkit · Ember.js · Express.js · Ext JS · jQuery · Knockout · Meteor · MooTools · Next.js · Node.js · OpenUI5 · Prototype · React · Rico · script.aculo.us · Sencha Touch · SproutCore · Svelte · Vue.js · Wakanda
PerlCatalyst · Dancer · Mason · Maypole · Mojolicious · WebGUI
PHPCakePHP · CodeIgniter · Drupal · Fat-Free · FuelPHP · Flow · Grav · Gyroscope · Horde · Joomla! · Kohana · Laravel · Li3 · Midgard · MODX · Nette · Phalcon · PHP-Fusion · Pop PHP · PRADO · ProcessWire · Qcodo · Silex · SilverStripe · Symfony · TYPO3 · WordPress · XOOPS · Yii · Zend Framework
PythonBlueBream · CherryPy · Django · Flask · Grok · Nevow · Pyjs · Pylons · Pyramid · Quixote · TACTIC · Tornado · TurboGears · web2py · Webware · Zope 2
RubyCamping · Merb · Padrino · Ruby on Rails · Sinatra
ScalaLift · Play · Scalatra
SmalltalkAIDA/Web · Seaside
AltriVibe.d (D) · Application Express (PL/SQL) · Grails (Groovy) · Kepler (Lua) · OpenACS (Tcl) · Phoenix (Elixir) · Ash (Elixir) · SproutCore (JavaScript-Ruby) · Yaws (Erlang)
Controllo di autoritàGND (DE) 7526076-1
  Portale Internet
  Portale Software libero
  Portale Telematica
Estratto da "https://it.wikipedia.org/w/index.php?title=Spring_Framework&oldid=147861646"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022