Just completed evaluating the two above. Been using Play for a year and a half and Spring Boot for a few months.
Play is incredibly convenient and has some very sane, intuitive defaults which makes getting something going very, very simple. Play Authenticate and Deadbolt for instance are excellent and give near out the box authentication and security for your Play app.
Persistence in Play is very easy to get going, automatic database evolutions are super cool, routes are easy to setup and all reside in one place. On top of that its got some useful asset management processes for integrating Javascript, CSS and image assets.
Where Play fell down for me was:
1. Dependency management. SBT felt so damn impenetrable. On top of that any Scala or Java libraries were coupled to the binary version of Scala which meant updating and checking every dependency anytime I upgraded to a Play version which used a newer version of Scala.
2. Play breaks a lot of things between versions. Considering it came out in 2007 it's kinda concerning that so much changes between versions and can be a real pain point.
3. In Play Scala is a first class citizen and Java a second class citizen. I started out using Play Java, but it felt like every time I needed to do anything with it I had to consult both Play's Java and Scala docs.
Spring Boot is a real breath of fresh air for a Java dev. Sane defaults, no need to use XML configs, cool stuff like CrudRepository to make persistence an absolute piece of cake to setup.
I do miss database evolutions and the ease of Play Authenticate/Deadbolt and the great asset management utilities which Play provided but Spring Boot can do all that with a little bit of tweaking and then some - Spring Security, DropWizard Metrics, support for Jersey and just lots and lots more make SB super powerful.
Spring Boot also has a lot more tutorials and quality paid for courses so getting skilled up is more straightforward.
Finally from a project manager point of view finding competent Spring Boot developers is a LOT easier than finding competent Play/Scala devs.
Regarding the other Java web frameworks, Dropwizard's dev community seemed liked it had less momentum than SB or Vert.X. It also seemed less up to date.
Vert.X was the most compelling alternative to SB for me and I spent a fortnight messing around with it - lots of fun. It provides an excellent asynchronous event engine and if you like Lambda expressions you'll love coding in it. Very enjoyable to use and the community is fantastic. It has a lot of momentum and you can also integrate it with SB to give you the best of both worlds.