If you want to become proficient with Spring, my recommendation is to put Spring Boot aside for a moment and focus on learning the Spring Framework fundamentals. After that, not only you'll appreciate all that Spring Boot does for you, but you'll know how to customize it. (1/6)
A great starting point is the Spring Framework official documentation: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/ Focus on the application context, dependency injection, bean lifecycle, and configuration (annotation-based and java-based), aspect-oriented programming, and bean validation. (2/6)
Next, experiment with the different types of application contexts for web and non-web applications. I found it quite educational to develop something without Spring Boot and then do the same with Spring Boot. Compare the two, and you'll really understand its power. (3/6)
Spring Boot takes an opinionated view of Spring and third-party libraries to boosts your productivity so that you can focus on the business logic rather than the plumbing. With minimal configuration, you can run production-grade applications. It's awesome! (4/6)
But it will come the time when you need to customize something. That's when your Spring core skills will come handy. If you feel like Spring Boot is magic, then have a look at how the Spring Framework works, and you'll understand. (5/6)
If you're looking for resources to learn and delve into Spring, I recently started a list on GitHub, where you can find books, courses, tutorials, projects, podcasts, YouTube channels, and more. https://github.com/ThomasVitale/awesome-spring (6/6)
You can follow @vitalethomas.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: