Long story short, I have been asked to learn Java Spring Boot for work, in two months.
I searched for many online resources, from Udemy to Baeldung, but I am totally unaware of the correct learning path. Some of them are very expensive while some of them are unpaid but very basic.
I do not wish to invest more time in exploring and getting even more confused. I wish to understand more about the dependencies and use cases.
Being from a python background, I am not very well aware of the Java environment. I can code in Java, but limited to DSA.
Is there a specific learning path that I must follow? If yes, please guide me.
Is there any kind of hands-on course that'll help me build and learn simultaneously?
What would you prefer?
Thanks!
Top comments (5)
I teach this stuff as a trainer, so I recommend becoming very familiar with how Spring does Dependency Injection (Autowiring), which means you'll need to have a good understanding of Java itself, how object references work, and how to use annotations. Also very important to become familiar with JUnit and writing tests.
As you've probably seen, the Spring Framework is very large, so make sure you're learning things that you'll actually need:
Will you be using databases? If so, which one(s)?
Are you doing back-end only, implementing Web ("RESTful") APIs, or front-end as well, using a template system to do server-side generated HTML, with Thymeleaf (hopefully not JSP)?
How/where are the applications deployed? And what is the deployment architecture: more like monoliths, a microservice setup, or somewhere in-between?
Once you've figured out the topics, then start creating a project of your own, with a focus on testability and figure out things as you need them using the Spring docs as a main resource, along with tutorials from the reflectoring.io web site (much preferred over Baeldung).
Thymeleaf maybe for testing only. As long as REST is in use, the native frontend should be developed. And while advising beginners don't mention microservice and stuff like that, please. And most important - there's no way to understand dependency injection without prior basic experience with plain Java. One can't notice the fundamental difference in those approaches if doesn't know both, especially how Spring benefits of Java Reflection.
Wow! This is very insightful.
I will work on it step by step as you suggested.
Thank you very much.
I've been there before. I had a hard time looking for proper tutorials as well (spoiler: still haven't found one), but what helped me the most is following guides from the official Spring website and then Googling what else I need from there on out. Baeldung is pretty helpful for mini-tutorials on how to do this or that in Spring Boot.
I have to mention though that I was technically learning while developing what would be the final product (a web application). Since I didn't know what sort of tutorials I should be looking for from Baeldung, I had to just start developing and then go from there.
Hey! Yes, I am checking out the guides.
I too think that I should start developing something rather than finding a hands-on alternative.
Thanks!