[Spring] Spring3: dai Controller ai Repository [Parte1]

In questo articolo, riporto la configurazione di Spring per il supporto alle annotations (sia sui model, che sui servizi e DAO) e all’utilizzo di Spring MVC (controller). Ricordiamo che Spring è il framework open source per lo sviluppo di applicazioni su piattaforma Java attualmente più utilizzato e riconosciuto come valida alternativa agli Enterprise JavaBeans (EJB).

In un secondo tutorial (Parte 2), verranno riportati degli esempi di controller (interfaccia che riceve una richiesta HTTP – HttpServletRequest e HttpServletResponse – simile alla Action di Struts), di model o entity (modello dei dati o entità, ossia bean che rappresenta la tabella sulla basedati, con relative associazioni ad altre entità), di service (interfaccia con la logica di business della web application) e di repository (interfaccia DAO che esegue le operazioni CRUD sulla basedati), con relative annotations (@Controller, @Entity, @Service, @Repository).

Grazie all’utilizzo delle annotations, si riduce l’overhead per la scrittura di codice nei file XML, risparmiando tempo anche nel debug e manutenzione del codice (clean code). Il mapping dei bean di Spring, infatti, avviene tutto sul sorgente JAVA, mantenendo anche una netta separazione tra la configurazione del framework e le interfacce/classi della nostra applicazione.

Gli step da seguire per la configurazione di Spring+Hibernate nella nostra web application sono i seguenti:

  1. Installazione delle librerie di Spring e Hibernate con l’ausilio di MAVEN
  2. Integrazione di Spring nella web application (dispatcher, filters, listeners, servlets nel file web.xml)
  3. Logging di Spring e Hibernate
  4. Configurazione del context-application di Spring (configurazione core)
  5. Configurazione dell’ORM Hibernate in Spring
  6. Sicurezza in Spring
  7. Configurazione di Spring MVC

I file di configurazione di Spring sono stati divisi a seconda del modulo/componente che si intende utilizzare nella nostra web application (Spring ORM, Spring Security, Spring MVC, Spring Core), per avere una maggiore leggibilità e flessibilità nella scelta delle componenti da installare. I nomi dei file riportati di seguito (spring-application.xml, spring-servlet.xml, spring-orm.xml, spring-security.xml) non sono imposti dalla specifica di Spring, come neanche la suddivisione adottata.

Continua la lettura