I don’t think that Nicolas’s article “confronts” the article on the Wiki, it’s just a different way of doing it. Nicolas specifically explains why he doesn’t use the annotations “Since IoC is all about decoupling, I’m vehemently opposed to coupling my code to the Spring framework”.
For our projects, we are using autowiring and annotations - it’s comparatively simple, and it works for us - I am not fussed about coupling our code to spring.
Another approach for DI and Vaadin is detailed here http://goo.gl/6V4Gr , using Guice.
Spring is fairly pervasive, and has lots of utility classes and functions that can be helpful : we chose to go with Spring because of that. FWIW, our main project is a three-tier system, so Vaadin doesn’t talk directly to the database (but to a server, via JMS), but another smaller satellite project using Hibernate & Vaadin & Spring to great effect.