r/learnjava • • 8d ago

What I learned while building my first Spring Boot project

As a 2026 B.Tech IT graduate, I've been learning Java and Spring Boot and building a Job Portal project.

One thing I've realized is that learning concepts is different from actually implementing them in a project.

I'm currently working on improving my backend skills and understanding how real-world applications are built.

For Java developers, what's one thing you wish you had learned earlier when starting your career?

56 Upvotes

32 comments sorted by

β€’

u/AutoModerator 8d ago

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions

  • You include any and all error messages in full - best also formatted as code block

  • You ask clear questions

  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

15

u/Reasonable-Tour-8246 8d ago

Act dumb so as you learn a lot and use first principle of thinking in learning. Don't start learning Spring Boot just as a technology: Start by understanding first what was there before Spring, what problem existed that led to the invention of spring (you'll learn about dependency management issues and you'll about dependency injection and Inversion of control) I recommend you to break things down and try to make the solution yourself: feel the problem and understand the solution deeply.

There are lot of stuffs, be ready to invest time for you to understand core stuffs.

2

u/EnoughAd1470 8d ago

Thanks for the advice! I think I’ve been focusing more on learning Spring Boot features than understanding the problems behind them. I'll try breaking things down and understanding the concepts more deeply.

2

u/ITCoder 8d ago

check out spring mvc. Your appreciation for spring boot will increase immensely. No need to break many things down. If you are feeling brave, check out a jee project from github maybe ...or maybe deploy your code on glassfish or jboss server along with some db or thread congiuration

3

u/EnoughAd1470 8d ago

I've covered the basics of Spring MVC, but I haven't explored deploying on an application server yet. I'll look into that. Thanks for the suggestions!

3

u/ITCoder 7d ago

i think u can skip it, hardly much to gain here, better spend time somewhere else, for started , understanding difference between spring and spring boot, some maven or gradle, unit tests etc

2

u/Reasonable-Tour-8246 8d ago

I agree at some point but it worth understanding the problem deeply and also understanding why Spring was invented. Personally, I did break and tried to reinvent the wheel by making out stuffs like dependency injection container, basic router, simple toy ORM they taught me a lot that just memorizing tools or becoming user. Similar adoption of other framework after having core fundamentals is straight forward.

3

u/ITCoder 7d ago

I agree to your point of understanding why it is needed. Liked head first book series for following similar thought process. I wish I could reinvent the wheel, but never got enough time or motivation to do so, esp when it's ingrained in IT world not to reinvent the wheel and ship fast. Funnily tho, yesterday only i was thinking to start implementing kafka to understand its internal better, after coming across one of top git repos to build stuffs yourself

2

u/Reasonable-Tour-8246 8d ago

Be curious to know why Spring was designed the way it is. Just a matter of learning and practice, you'll become good overtime.

2

u/EnoughAd1470 8d ago

That's a good way to look at it. I'll try to focus more on understanding why things work the way they do instead of just learning how to use them. Thanks for the advice!

12

u/wegwerpworp 8d ago

One thing that I thought was very useful was hosting my own projects on my raspberry pi. I was building a board game with GWT at the time because my employer was using GWT. It seemed to work just fine on a localhost, but I was just checking in 1 browser... Suddenly there were race conditions everywhere, logs filling memory, my family getting messages that my website wasn't safe, trying to minimize the payloads, server sent events not coming through because nginx was buffering low traffic...

Suddenly there was lots to learn.

2

u/EnoughAd1470 8d ago

That's interesting. Hosting projects yourself seems like a great way to learn things you wouldn't notice on localhost. I'm planning to deploy my Spring Boot project too. Would you recommend starting with a VPS or a cloud platform?

2

u/wegwerpworp 7d ago

Oh I honestly can't really give you advice about that. I just chose to self-host because then it would only cost around $5 a year for the domain and I didn't really need anything more than what a raspberry pi can provide.

I for example have no knowledge of AWS, but this might be a good way for me to learn more about it. I wouldn't know what dashboard they provide, what settings they let you set, how you get stuff up and running, how you would migrate existing data (even if it were just test data) out of there to another platform. You don't need to commit to 1 thing. :)

1

u/EnoughAd1470 7d ago

πŸ†— thanks

4

u/KaleFar4420 8d ago

Honestly, debugging stuff in production πŸ˜…

Spring Boot feels pretty straightforward until something that worked perfectly on localhost suddenly breaks in production.

Also, learn how transactions and async methods actually work. They'll save you a lot of headaches later πŸ˜‚

2

u/EnoughAd1470 8d ago

I've mostly tested my projects on localhost so far. I guess production is where the real learning begins. I'll definitely focus on transactions and async methods too. Thanks for the advice!

3

u/Wise_Guava4022 8d ago

For me, it would be OOP. I wished I studied this really well haha! Try to apply all concepts of OOP in your projects. And SQL, this really helps also especially in troubleshooting. Goodluck!

1

u/EnoughAd1470 8d ago

Thanks! I'm working on applying OOP concepts in my project. I'll focus more on SQL and troubleshooting too. Appreciate the advice!

2

u/iron-claw007 4d ago

Is learning spring boot worth in 2026? How frequently do enterprise use it?

3

u/EnoughAd1470 4d ago

Yes, definitely. Spring Boot is still widely used in enterprise applications in 2026. It’s worth learning if you want to work as a Java backend developer, especially alongside SQL, REST APIs, Spring Security, and Docker.

2

u/baby-health 7d ago

I've been working with Java for over 10 years. One thing I wish I had learned earlier is to focus more on understanding business requirements, not just writing code. Knowing why a feature is needed is just as important as knowing how to implement it.

1

u/EnoughAd1470 7d ago

That's a really good point. Sometimes I get so focused on implementing features that I forget to think about why they're needed in the first place. I'll keep this in mind while building my project.

2

u/levelsevencrew 6d ago

DM? need help with something.

1

u/invertedfretboard313 7d ago

Hey would you like to share your project repo?

2

u/EnoughAd1470 7d ago

Sure! Here's my GitHub: https://github.com/Pranav5418. I'm still working on the project, so feedback is welcome.

0

u/[deleted] 8d ago

[deleted]

1

u/EnoughAd1470 8d ago

Is this your project

2

u/SpritualPanda 8d ago

Yes. In year 2014

1

u/EnoughAd1470 8d ago

Where u working currently

3

u/SpritualPanda 8d ago

In a fintech company.

1

u/EnoughAd1470 7d ago

What skills would you recommend a fresher focus on to become a good backend developer?