I like Spring Boot. Spring Boot is great...if you stay within their parameters. One major pain point though is not using the Spring boot parent pom:

    <relativePath/> <!-- lookup parent from repository -->

If you have your own parent pom/infrastructure, you have to "side-load" Spring boot dependencies thusly:

    <!-- Import dependency management from Spring Boot -->

As their documentation states, if you use the Spring parent pom you can simply override versions with maven properties. Super easy, barely an inconvenience! Unfortunately if you side-load, you now have to specify every single dependency manually. This gets unwieldy quickly, especially in transitive enterprise dependencies.