At line 53 changed 1 line. |
Questa classe deve estendere [BaseObject|http://raibledesigns.com/downloads/appfuse/api/org/appfuse/model/BaseObject.java.html], che ha 3 metodi astratti: (equals(), hashCode() e toString()) che dovrai implementarre per la classe Person. I primi due sono richiesti da Hibernate. Il modo più facile per farlo è usare [Commonclipse|http://commonclipse.sf.net]. Ulteriori informazioni sull'uso di questo strumento si possono trovare sul [sito di Lee Grey|http://www.leegrey.com/hmm/2004/09/29/1096491256000.html]. Un altro Plugin di Eclipse che puoi usare è [Commons4E|http://commons4e.berlios.de/]. Non l'ho usato, per cui non posso fare commenti sulle sul suo funzionamento. |
Questa classe deve estendere [BaseObject|http://raibledesigns.com/downloads/appfuse/api/org/appfuse/model/BaseObject.java.html], che ha 3 metodi astratti: (equals(), hashCode() e toString()) che dovrai implementare per la classe Person. I primi due sono richiesti da Hibernate. |
Se intendi mettere questo oggetto nella sessione dell'utente o esporlo tramite un web service, dovresti implementare anche {{java.io.Serializable}}. |
At line 56 added 2 lines. |
Il modo più facile per farlo è usare [Commonclipse|http://commonclipse.sf.net]. Ulteriori informazioni sull'uso di questo strumento si possono trovare sul [sito di Lee Grey|http://www.leegrey.com/hmm/2004/09/29/1096491256000.html]. Un altro Plugin di Eclipse che puoi usare è [Commons4E|http://commons4e.berlios.de/]. Non l'ho usato, per cui non posso fare commenti sulle sul suo funzionamento. |
|
At line 71 changed 1 line. |
Devi aggiungere anche un mapping per la primary key o XDoclet ti vomiterà addosso una serie di errori durante la generazione del file di mapping. Nota che tutti quei tag @hibernate.* devono essere posti all'interno del Javadoc dei __getter__ dei tuoi POJO. |
Devi aggiungere anche un mapping per la primary key o XDoclet ti riempirà di errori durante la generazione del file di mapping. Nota che tutti quei tag @hibernate.* devono essere posti all'interno del Javadoc dei __getter__ dei tuoi POJO. |
At line 170 changed 1 line. |
Ora c'è da creare un DaoTest per verificare che il tuo DAO funzioni. "Aspetta un momento," mi dirai, "Io non ho creato un DAO!" Ed hai ragione. Tuttavia, ho scoperto che il [Test-Driven Development|http://www.artima.com/intv/testdriven.html] permette di tirar su codice di miglior qualità. Per anni ho pensato che lo __scrivere i test prima delle classi__ fosse una sonora boiata. É che mi sembrava stupido e basta. Poi ho provato a farlo ed ho scoperto che invece funziona alla grande. L'unico motivo per cui ora faccio tutto questa roba test-driven è perché ho scoperto che accelera in tempi brevi il processo di sviluppo software. |
Ora c'è da creare un DaoTest per verificare che il tuo DAO funzioni. "Aspetta un momento," mi dirai, "Io non ho creato un DAO!" Ed hai ragione. Tuttavia, ho scoperto che il [Test-Driven Development|http://www.artima.com/intv/testdriven.html] permette di scrivere codice di miglior qualità. Per anni ho pensato che __scrivere i test prima delle classi__ fosse una sonora boiata. É che mi sembrava stupido e basta. Poi ho provato a farlo ed ho scoperto che invece funziona alla grande. L'unico motivo per cui ora faccio tutto questa roba test-driven è perché ho scoperto che accelera e riduce i tempi del processo di sviluppo software. |
At line 192 changed 1 line. |
Il codice che vedi qui sopra è tutto quello che ti server per un test di integrazione di base con Spring che inizializzi e configuri un'implementazione di PersonDao. Spring useraà l'autowiring byType per richiamare il metodo ''setPersonDao()'' ed impostare il bean "personDao" come dipendenza di questa classe. |
Il codice che vedi qui sopra è tutto quello che ti server per un test di integrazione di base con Spring che inizializzi e configuri un'implementazione di PersonDao. Spring userà l'autowiring byType per richiamare il metodo ''setPersonDao()'' ed impostare il bean "personDao" come dipendenza di questa classe. |
At line 368 added 2 lines. |
%%note __NOTA:__ Non dimenticare di correggere il nome del package nell'attributo "class" qui sopra se hai indicato un package diverso da org.appfuse quando hai creato il tuo progetto.%% |
|