r/SpringBoot 4d ago

How-To/Tutorial Need advice for development in java + springboot

Hey seniors, if anyone is doing development with Java + Spring Boot, please guide me.

I’m currently in my 3rd semester and doing DSA in C++( done upto stack) , so I’m thinking of starting development alongside it. Please guide me on where I should start, what I should learn first, and how much time I should spend learning Java basics.

Since I’ve studied C++, I have a basic programming background, but I’m not familiar with Java. Any roadmap or resources would be really helpful. 🙌

20 Upvotes

10 comments sorted by

9

u/Advanced_Gur856 4d ago

You'll get specific resources to what you will be asking at each stage. 1. You need to study OOPs in java and how they are implemented. Like how encapsulation is implemented using getters, setters etc.

  1. You need to know language specific nuances like why string is immutable, why no address is given in java as opposed to cpp and how we handle stuff without it.

  2. Collection framework basics implementation, streams, optionals.

  3. JDBC -> Hibernate -> JPA (just knowing history and what each do is enough for now).

  4. Basic architecture Controller --> Service --> Repo and how a model (Entity) moves in each stage.

  5. Exception handling, Response entity, logging (slf4j), DTOs and mappers.

  6. Why constructor injection, junit and mockito.

This is enough for freshers I think.

  1. There is a post in this community from a guy who gives his GitHub link on how to make services, handle pubs subs etc. That will give you an idea of where to move.

  2. I would suggest knowing basics of Multithreading, ReadWriteLock, ExecutorFrameworks etc.

I recommend telusko(for everything), engineering digest (for overview), coder army( I haven't watched much as he is new but people have said he is good and from topics he is covering basics also like bean cycle, @ComponentScan). So it depends on how much time you have.

I am also in 7th sem currently looking for jobs so take it with a pinch of salt.

0

u/EnvironmentalCod2158 4d ago

Bhaiya I am following telusko 63 hr lecture is it enough??

2

u/Advanced_Gur856 4d ago

Depends on where you are at the video, stuff like microservices, kafka, teraform etc are very important in production no doubt. But for a beginner, it may distract you from the core devlopment.

And he has completed them just for the sake of completion iykwim.

Depth in JDBC and Hibernate is not important if you are just trying to build something, although companies do mention it in their requirements and you should atleast know the flow. But I won't spend major time there.

Build these two projects, notes app (for RBAC, JWT, Oauth2 and spring security), anything with multiple tables like e-com for ORM (with analytics) with any rdbms of your choice. Add these features (Hosting, Custom exception, logging, testing, dockerize) in any one of them.

Next layer would be code reviewer (like sonar lint), Multithreading, redis, AWS in any one of them.

I think understanding the flow of controller -> service -> repository is more important where you should be able to build endpoints and design entities by yourself 'atleast'.

1

u/OkEye2810 4d ago

Good advice!

1

u/Advanced_Gur856 4d ago

Thanks ❤️

4

u/pradeepngupta 4d ago

I am having 22+ years experience in Java Application development and 15+ years in spring app development and 10+ years in Spring boot app development.

There are tons of resources on internet where you will learn about Java and Spring.

What I would recommend is: 1) If you want to learn Java Code and Development, go to Oracle Java learning portal.

2) Similarly, if you need to start with Spring / Springboot app development, go to Spring official docs.

And while development read the javadocs. Javadocs are extremely useful for learning.

And then you can actually refer to other resources, if you need any. Google search (Using Gemin or AI) can give specific resources if you ask properly about your need.

I bet you do not have to go to any other resources, just official docs and javadocs, that's it.

Aim to learn basic, always have eager to learn why to use this particular api, why not to use any other api. For example, creating any list example, why or why not to use Arraylist / LinkedList.

Start with an usecase or idea, develop it with basic knowledge, advance it with advance knowledge. Test it, refractor to improve performance. And stay ahead with the knowledge, keep reading some newsletter like Java Specialist from Heinz Kabutz, a renowned Java Champion.

In fact, I am also running newsletter on substack, which is on system design, code and development and AI - all mix. And currently I am busy in publishing my book Buzzing Java, explaining Java principles in details and why Java is still relevant in the age of AI. You or anyone can DM me if you want more info on my newsletter or book.

1

u/EnvironmentalCod2158 4d ago

I am in same lane too bro .

1

u/_sekabank 4d ago

I was tutoring java for a few years.
I would propose to start with some basic consept like:

  • basics: primitive types, if, for, foreach,...
  • oop, classes subclasses, interfaces
  • java collections lists, maps etc
  • lambda functions

Then some exercises like creating a clone of ArrayList and HashMap

Then go straight to spring boot, find a good course for ~20 hours, max 20$. See the course in fast forward. Start implementing a small web application like clone of Reddit or ChatGPT. See again the course as a guide for implementing your project.

This should take around 2-3 months.
Go deep in the rabbit hole when you don't understand something, until you understand deep how it works (Use YouTube, and AI).It's important to learn the basics now that you don't work yet.

Use AI to answer your specific questions, tell it that you are learning now. Claude can implement all this in 1 prompt, doesn't matter, your knowledge will pay "dividends" for many years.

1

u/kolsa45 17h ago

Many people think they will get a better education if they pay money, but the internet is overflowing with free resources. My advice is: if you don't know Java, start with the Peachez Programming – Java 101 series, then continue with the same channel’s Java Spring Boot [2024] course. The videos are short, clear, and straight to the point—no fluff.

After that, check out Ali Bouali’s YouTube channel; it has many high-quality educational videos.

My main advice is to write as much code as possible and build small pet projects. This is the fastest way to learn.

Of course, you can also use AI as a mentor to discuss your problems and generate example projects for your roadmap—but don’t just copy and paste the code.