I've been a Spring and Hibernate user since 2004 (three more years of dev experience before that) and till date worked on over 9 projects. My dissatisfaction in Spring has led me to venture into simpler frameworks like Play! Framework, Lift, Django and Guice. However, given the choice between Spring 3 and JEE6, I would pick JEE6 for its simplicity, best of the breed standards, and productivty.
Early this year I implemented a prototype stack for a client of mine in JEE6 and I was surprised with how easy it was to build a basic webapp with the most common configuration options. The ability to get it right "out of the box" wins me over Spring's inherent cluster-mess of sub modules and "integration" options. To me, Spring doesnt solve any problem but just gives you hooks to integrate. If you like to be in a kithcen and mix 100 soups, its probably a good fit. They overdo AbstractFactory, Strategy, and Template Patterns to a point where writing a simple extension becomes a pain point and non-readable.
Consider, Spring Batch or Integration for instance: They have no support for annotation or event delagation model. What that means is if you have to write 10 batch jobs, instead of writing 10 pojo services, you end of writing 50 Spring classes (ItemWriter, ItemProcessesor, ItemReader, Listeners etc .,) and a 500+ line config file. This level noise can be eliminated if Spring folks understood how annotations work; that is, you don't need a class and an xml config to wire a method to your bean but you could simply annotate a method and let a post processor take care of it.
Even Spring transactons, for all its support and clarity, one still has to write them and maintain the configuration files where a JEE 6 continer can get away with it trivally, along with the 40+ jar files you need to maintain a maven or ant build. Some projects I worked, where part of the code is at offshorem, the code I see is spaghetti and because Spring doesn't tell you "how to write smart code" developers with lesser experience start dropping business concerns and write code that looks like a Spring this and Spring that, like spaghetti.
Having lesser footprint, intuitive concepts like Context management, bean extensions, events built right into the framework with annotations and interceptors (not aspectJ) as a first class citizen, is a win, any day.
In the end, my client decided to let go Spring and moved to JEE6 and Seam 3 with JBoss. The last I heard from them, they are very pleased.
True, Spring is still used widely in corporations. Same was true for EJB3 until 2005 :).
I blogged some of my findings here on my blog, if you're interested.
http://www.reverttoconsole.com/blog/category/jee6/