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
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!
The annotations and autowiring are key. Also, Udemy helped a lot.
I’ve learned through Udemy courses, more precisely through Chad Darby courses.
Trial by fire. We were in the infancy stages of a project and the alternative OTS options were really bad for our use case. We had a project manager that really believed in our group and pointed us to the Spring framework as one they had used in the past to solve a number of the same issues we were facing at the time. I had mainly worked in very heavy custom Java environments (no frameworks, and very few third-party dependencies) so dropping into a Framework with actual rules/guidelines was so nice and I’m currently noodling out how to rewrite some of our legacy apps in Spring because of how much it slots into our workflows.
I don’t love programming books and find them very hard to follow, so I leaned heavily on Baeldung and StackOverflow for most of my questions. Like some of the other comments in this thread, I had a hard time understanding dependency injection since I had no prior experience with it, but man-oh-man is it useful.
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.
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
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.