The back-end code such as PersonService, PersonRepository and configurations such as persistence.xml, applicationContext.xml, Maven's pom.xml, etc. was generated by Spring Roo. The Spring-Vaadin integration was enabled by Spring Stuff add-on, many thanks to Archie Cobbs created this add-on.
Vaadin Address Book Standalone Sample
Picture above is how the sample look like when it run standalone. You are welcome to fork the code at github, any changes contribute back to the main code base is very much appreciated. Bear in mind that the sample code is far from perfect, but it works. Many works need to be done to become a great application skeleton, you are encourage to look at the outstanding issues, or create one for bug or enhancement.
Edited on 22-Jun-2012: Many thanks to Iwein Fuld for his fixes to enabled the sample run with in-memory HSQLDB instead of MySQL DB.
Vaadin Address Book Sample In Liferay
Picture above is how the sample look like when it run in Liferay. You are welcome to fork the code at liferay branch here.I hope the sample code is useful to you. I'd love to hear your comments!