Java is a Programming Language and a Platform that is used to build Applications portable on any Operating System.

Java SE / EE are the most popular libraries for creating Windows apps and Web apps.

Java EE has various Server Containers like Glassfish, Wildfly, etc.

Java also has a very Popular IDE like Eclipse, NetBeans, etc. is an easy library to learn and web apps can be built with great ease following the online tutorials and many examples available on the internet. Spring follows Dependency Injection and Inversion of Control patterns to make programming easier.

Cross-Cutting concerns are provided for concurrency and transaction management.

Spring apps can be hosted on Heroku and can be deployed within minutes.

Spring has a medium learning curve if read from the right books.


Book Recommended:

Learning Spring Boot 2.0 -- By Greg L. Turnquist