back to top

Introduzione a Spring – Guida Java Spring

Spring è un framework open source per lo sviluppo di applicazioni Java, in paritcolare per applicazioni J2EE.

La prima versione del framework fu rilasciata nel 2002 da Rod Johnson, subendo poi molti cambiamenti che hanno portato questo framework ad essere molto apprezzato dalla comunità internazionale ed a vincere nel 2006 un Jolt productivity award e un JAX Innovation Award.

Ma perchè usare Spring?

Spring ha delle peculiarità che molti altri framework non hanno:

  • Modulare: Pur essendo molto ampio, grazie alla sua modularità si può scegliere di integrare solo alcuni dei suoi moduli all'interno del nostro progetto. Per questo Spring è facilmente integrabile anche in progetti già esistenti.
  • Lightweight: Spring è stato progettato in modo da rendere le dipendenze dal framework all'interno della nostra business logic praticamente nulle, e ove presenti facilmente isolabili. Per instaziare e\o inizializzare oggetti nel framework non si devono implementare interfacce specifiche o classi astratte.
  • Integrabile: In Spring non ci sono package di logging, connection pool o O\R mapping, poichè tutte queste funzionalità sono fornite da altri framework open source. Spring non ha l'obbiettivo di sostituirli, ma solo di renderli più facili da utilizzare, attraverso i suoi tool.
  • Portabile: Un'applicazione scritta con Spring può essere trasferita senza problemi da un Application Server all'altro, come ad esempio: WebLogic, Tomcat, Resin, JBoss, Jetty, Geronimo e WebSphere.
  • POJO-based programming enabled: Spring ci permette di sviluppare una completa applicazione J2EE usanso solo POJO, dotandoli di funzionalità enterprise in modo non invasivo.
  • Test driven enabled: Spring ci permette di scrivere software facile da testare, quindi risulta un framework ideale per i software che sono scritti basandosi sul Test Driven Development.

Dopo aver visto le peculiarità Spring, vediamo ora quali ulteriori vantaggi ci sono nell'usarlo:

  • Rende possibile eseguire un metodo Java in una trasazione, o di renderlo un metodo remoto senza dovere interagire con le relative API (Es. JTA).
  • I servizi di gestione della configurazione di Spring possono essere usati in qualsiasi layer architetturale, e in qualsiasi runtime environment.
  • Elimina la proliferazione di custom properties file. Per capire quali sono le dipendenze di una classe, basta solo guardarne il costruttore o le sue property. Questo è possibile grazie all'uso dell' Inversion of Control e del Dependency Injection, che saranno discussi più avanti.
  • Facilita la programmazione su interfacce.
  • Al contrario della maggior parte degli altri framework, Spring si concentra su come fornire un modo semplice ed efficace di gestire i nostri oggetti di business logic.
  • Ci autia a risolvere i problemi comuni delle applicazioni enterprise, rendendo opzionale l'uso degli EJB. In questo modo possiamo scegliere di implemenrare le interfacce di business nei nostri POJOs o nei nostri EJB senza modificare il codice chiamante. Oltre a questo Spring si propone anche come un'adeguata alternativa agli stessi EJB, per molti tipi di applicazioni enterprise.
  • Offre un consistente framework per il Data Access, sia usando JDBC, sia usando altri prodotti di O\R mapping, come Hibernate o TopLink.
PubblicitÃ