[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

Vita da programmatore (da “Il MessaGGiero”)

(Tratto da “Il MessaGGiero”: http://www.messaggiero.it/weblog/pivot/entry.php?id=7 )

La definizione per il termine “Programmatore” su Wikipedia http://it.wikipedia.org/wiki/Programmatore riporta testualmente:
Il programmatore (o coder) è il professionista che scrive dei programmi software in un determinato linguaggio di programmazione“.

Non so voi ma io leggendo questa definizione mi sento più un chip elettronico che una persona in carne ed ossa.

La mia definizione di programmatore è molto diversa da quella ufficiale, ossia:

Il programmatore è chi, pensando di far soldi come professionista dei computer, si ritrova a fare la fame per il profitto di qualcun altro“.

Molta gente del settore, si sente offesa se chiamata semplicemente “programmatore“, appellandosi al fatto che esistono varie qualifiche.

La lista delle qualifiche è la seguente:

1 – Programmatore junior:
Il povero disgraziato che inizia quest’ infame carriera ignaro del proprio destino.

2 – Programmatore senior:
Il povero diavolo che ormai si è resoconto della fesseria che ha fatto ma non può tornare indietro.

3 – Analista Programmatore:
Il povero diavolo al punto 2 che dopo aver chiesto un aumento all’azienda, invece dei soldi, gli rifila la qualifica.

4 – Analista:
Il povero diavolo al punto 3 che dopo aver chiesto nuovamente all’azienda un aumento gli avanza la qualifica congratulandosi con lui, con sorrisi a 44 denti, per il salto di carriera e per le tante possibilità che il nuovo titolo gli offrirà per il suo futuro.
Il povero deluso, si renderà conto solo il giorno dopo, che continua a fare il programmatore con lo stesso stipendio di prima.

Nell’immaginario comune, si pensa al programmatore come una persona introversa, occhialuta che programma tutto nella sua vita dal software che scrive fino alla cadenza oraria per andare a fare la pipì!

Tutto questo è assolutamente errato!. La vita del programmatore è una vera avventura, volendo usare un termine informatico è una vita assolutamente “RANDOM” (casuale).

Il programmatore di per se (indipendentemente dalla qualifica) non è una vera e propria categoria unica ma bensì una macro categoria che si scinde in vari filoni.

I filoni principali sono:

1 – Programmatore impiegato in enti statali.

2 – Programmatore impiegato in enti para-statali.

3 – Programmatore per aziende software nel settore privato.

4 – Programmatore “consulente” impiegato presso un’azienda di consulenze settore privato.

5 – Programmatore “consulente” freelance settore privato a partita Iva.

Sicuramente queste 5 categorie non coprono tutti i possibili casi ma credo a mio avviso che siano almeno le più rappresentative.

Analizziamole una per una. Continua la lettura

Creative Commons License
This work by Francesco Ficetola is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at www.francescoficetola.it.
Permissions beyond the scope of this license may be available at http://www.francescoficetola.it/2012/05/15/vita-da-programmatore-da-il-messaggiero/.