Play is seriously, seriously good. We used to build on top of a fairly heavy but powerful stack of Spring, Hibernate and Struts2/Wicket (depending on the app). Although there's a lot of power there there's also a lot of tangled XML and you need to do a fair amount of gymnastics to get through it all. Server restarts are common and painful. Getting exception stacks that run 200 classes deep are IMHO a bad sign.
Play is a total breath of fresh air. REALLY well thought out, clean, simple, fast:
- almost no server restarts needed, - runs very very quickly in production - stateless, so zero downtime deployments are trivial - great community - extendable with modules
Then there are all the little things. Libraries to do things like encryption and image resizing are built in and just work. Everything just works.
I can't recommend it enough. It really does liberate Java from the Enterprise shackles.