Spring is one of the most popular Java frameworks used across the projects. If you are interested in learning Spring framework, there are a lot of projects under spring community which are used for different purposes.
Since spring itself has grown into a platform, you can provide the complete enterprise solution using the spring projects. Before you start learning spring framework, let's decide what you want to learn in spring framework.
Spring 5 is the latest release where Spring has done a lot of changes like introducing a new React engine.
Want to learn spring basics?
If you want to learn only the spring basics, then you have to restrict to Spring Core. This is the core engine of spring framework. The basic concepts like Dependency Injection (DI), Aspect Oriented Programming (AOP), Singleton Beans, etc. are covered in the basic spring framework.
If you read this document, you will understand how spring is managing effectively and work with all other frameworks. Note that spring core can be used independently with any other framework.
Here is some of the good links to learn spring core:
Introduction to the Spring Framework
Step by Step Spring Tutorial for Beginners- Java2Blog
Understanding the core of Spring framework
Why Use the Spring Framework?
Spring Framework Architecture - DZone Java
Spring | Baeldung
Want to learn Advanced Spring?
If you are interested in learning advanced spring concepts, you have multiple options. Note that there are many spring projects for specific purposes. You may not be able to master all the projects. Here I am listing down some of the most popular spring frameworks that are most commonly used among the projects.
Spring Core -This is the core engine for spring framework. Every other spring project is built on top of this engine. You have to first understand clearly about the Dependency Injection and other concepts to be a more successful spring framework developer.
Spring Boot - This is the most common for running spring applications. It is the very latest one and must be learned by every spring developer. This will be the future way of building and running spring applications.
Spring MVC - Spring MVC is the most popular web application framework in Java. If you are developing web applications using spring, then you have to learn Spring MVC.
Spring Data JPA - Excellent framework for developing database applications. You will fall in love if you start using Spring Data. It is that much easy to persist data using SPring Data framework.
Spring Security - Spring Security is one of the most widely used for security purposes.
Spring Cloud - For developing cloud applications
Spring Batch - If you have a batch job, this framework can be used.
There are many other frameworks under spring which I have not listed here. You can find all the projects here:
spring.io - This is the official spring community website. Here you will find all the projects under the spring framework.
Good Blogs for Learning Spring Framework
spring.io/blog - This is the official blog for spring team. Here you get the latest updates to all the spring projects. This is the great source of information for all the spring projects. Keep watching this blog for updates.
spring-projects/spring-framework - This is the GitHub page for spring framework. Here you find the new changes to spring framework.
SpringOne 2GX - This is the world’s largest spring conference conducted by a spring team.
Mkyong Tutorial on Spring - He writes mostly on spring programming examples.
Eugen Paraschiv's site Baeldung.com - He is part of the spring team and he mostly covers REST and SPring Security. He also offers a paid course which is very good for learning the framework.
Petri Kainulainen's site. - He is a Spring Data Expert. You can learn Spring Data in his blog.
Spring 4 Tutorial - JavaBeat is a good blog for reading the Spring Framework topics. This blog is written by me and currently not managed by me. All the spring articles are my thoughts.