I’ve recently been working a lot with Java Spring and wanted to do a quick post on the Spring project.
So previously I had mainly just worked with Spring Boot. A lot of companies use Spring Boot applications because they’re quick and easy to setup. If you use the Spring Initializr you can be up and running in seconds https://start.spring.io/ .
The thing for me was though that even though I understood some basics about Spring Boot, I didn’t really know much about the overall Spring Project.
So to understand this you have to go back in history to the early days of Java.
Before Spring, to build a project with Java you had to manually build and connect a set of Jar files. This could be tedious and error prone. You had to basically build your own packages for deployment etc.
With Maven and Gradle package management came a little easier, but you’re still having to manually configure a lot of the process.
What Spring did was it took the manual configuration of those early Java years and automated it wherever it could.
Using annotations and a lot of underlying setup, the Spring project enabled auto configuration for projects that included all the normal uses cases like security, data, mobile, web, etc.
The Spring Project provides examples and a lot of well documented information if you want to get up and running with one of their projects or subprojects.
The main Spring site is here https://spring.io/projects/spring-framework
Spring Boot can also be found here https://spring.io/projects/spring-boot
I found a good Pluralsight course that covers a lot of the basics of Java Spring here Spring: The Big Picture
Also there is a good continuation into more advanced Spring Boot topics with the Pluralsight course here Spring Boot: Efficient Development, Configuration, and Deployment