Programmers using Spring (Java) professionally, how did you learn it?

https://lemmy.world/post/72475

Programmers using Spring (Java) professionally, how did you learn it? - Lemmy.world

Would you recommend courses, books, documentation, or jumping straight to a project and googling things along the way? I have a solid foundation of Java and want to start learning how to develop web apps with it. Any help much appreciated

The way I learned Spring was basically by just being pushed into a Java project that was using it right after I finished uni. Tbh it was a bit overwhelming but I was able to slowly wrap my head around it in about a month or two. It was also the first "real" framework I ever used. Ever since then I started to just jump right into projects and try to grasp the basic concepts of the frameworks used, since they are mostly quite similar and try to expand my knowledge from there on. At least for me this worked well for NestJS, Flask, Django and somehow also for stuff like angular and Android development but there I had to put up with some formerly unknown concepts.

I ended up working for a company which had a large Spring project and learnt by working on that. It didn't seem too hard once I got my head around autowiring.

That was ten years ago, still using XML configuration files, and once I started working on projects with annotations instead things became a lot easier.

Same here. Went straight from University to working with Spring and learning by doing. By now you can actually use ChatGPT as a nice little mentor as well. It's decent at explaining how things work if you don't want to google everything.
When I was still at university, I started working on a place where Spring was used... they gave me a book called "Spring in Action" to read. I loved reading it and everything made much more sense after that... I highly recommend trying to get a deep understanding of something so central to an application like Spring before you start doing anything more advanced with it. You wouldn't want to drive a F1 car without first learning how to do it properly, it may be fun at first but you're likely to crash and burn.
If you want a book that does a really good job of explaining the basics and laying the foundation of Spring from the ground up, then I recommend Spring Start Here. It's the book I wish I had when I started working on Spring (Boot) projects all those years ago.
Spring Start Here

Quickly master the massive Spring ecosystem with this focused, hands-on guide that teaches you exactly what you need to know.</b><br/><br/> In Spring Start Here</i>, you will learn how to: Build web applications with Spring</li> Manage application objects with Spring context</li> Implement data persistence using data sources and transactions</li> Implement data exchange between applications using REST services</li> Utilize Spring Boot's convention-over-configuration approach</li> Write unit and integration tests for apps implemented with Spring</li> Minimize work when building any kind of app</li> Persisting data in a Spring application using the latest approach</li> </ul> Spring Start Here</i> introduces you to Java development with Spring by concentrating on the core concepts you'll use in every application you build. You'll learn how to refactor an existing application to Spring, how to use Spring tools to make SQL database requests and REST calls, and how to secure your projects with Spring Security. There's always more to learn, and this book will make your next steps much easier.

Manning Publications
Thanks for the link!
As someone who needs to understand the concepts first (instead of simply learning by doing), the guides by Marco Behler really helped. And the official documentation is great too!
Learn more about Java, no matter your skill level, anytime and anywhere you want - Marco Behler GmbH<

As with any framework or language, it depends on how you like to learn things and how quickly you need to start producing code.

I like to just jump in and read docs where necessary along the way. That doesn't mean it's the best way for you.

Not a professional, also learning, but one of the books I've been reading through is Spring Start Here: Learn what you need and learn it well
Goodreads

Discover and share books you love on Goodreads.

Goodreads

I was forced to use it because its the default web server framework at my mega-corp. I've been using it for almost 7 years now, and I think one of the reasons Spring is popular is because you can pick it up pretty easily if you've got an existing app with some examples to work in.

I think the only three core concepts you have to understand for Spring to make sense are (1) MVC architecture, (2) server-side templating and (3) dependency injection. If you have a reasonable idea of how these things work, you can muddle your way through the rest.