Skip to main content

r/learnjava


Book recommendations for learning Spring/Spring Boot and advice on how deep to go?
Book recommendations for learning Spring/Spring Boot and advice on how deep to go?

I have finished learning Java and I'm fairly comfortable with it. I'm now

starting to learn Spring, but I'm having trouble figuring out how deeply I

should learn it.

I'm currently reading "Spring Start Here" by Laurentiu Spilca. I'm finding

it useful, but I'm not sure whether it is enough for a strong foundation

in Spring/Spring Boot or what I should study after finishing it.

I'm also unsure how much Servlet knowledge I should have before/alongside

Spring MVC. Do I need to study Servlets/JSP in depth? I've found some

Servlet books that are almost as large as the Spring books, so I'm having

trouble figuring out how much Servlet knowledge is actually necessary.

My current book explains some Servlet concepts, such as how the

DispatcherServlet receives a request and passes it to the appropriate

parts of the backend. Is this level of Servlet knowledge enough, or should

I study Servlets in more depth?

I'm a 3rd-year undergraduate preparing for internships and backend

development roles. I don't want to go into documentation/source-code-level

depth, but I do want to understand the important concepts well enough to

answer interview questions about how Spring works internally at a

conceptual level.

For example, how deeply should I understand:

- Bean lifecycle and scopes

- AOP and proxies

- Spring Boot auto-configuration

- Spring MVC / DispatcherServlet

- Spring Data / JPA / Hibernate

- Spring Security

For Spring Boot specifically, should I understand how

SpringApplication.run() works internally and how auto-configuration

happens, or is it enough to understand these concepts at a high level?

I've already started learning Spring rather than just looking for a

roadmap, so I'm mainly trying to figure out where to draw the line between

"good enough for internships" and unnecessary depth.

What resources/books would you recommend after Spring Start Here?

Also, what Spring-related topics should I prioritize after completing the

book?

I'd especially appreciate advice from people who learned Spring as

students or who use Spring professionally.


Advertisement: Precise aim and fast reactions decide the winner in Roblox's intense FPS experiences.
Precise aim and fast reactions decide the winner in Roblox's intense FPS experiences.
media poster


I want to learn Spring Boot
I want to learn Spring Boot

Looking for Spring Boot Resources

Hey everyone! I already know Java and use it regularly for DSA. Now I want to learn Spring Boot specifically for building real-world projects and becoming job-ready as a Java backend developer.

Are there any resources similar to the ones people recommend for learning Java/DSA Like MOOC.fi?

I'm looking for something that covers Spring Boot from the fundamentals to building production-level projects, including things like REST APIs, Spring Security, JPA/Hibernate, databases, JWT, microservices, etc.

I’d really appreciate recommendations for courses, YouTube channels, documentation, project-based tutorials, or roadmaps that you’ve personally found useful.

Thanks!


Faulty transivity violating example?
Faulty transivity violating example?

I am following Effective Java: Programming Language Guide, by Joshua Boch, and when showing an example of breking transivity relation in equals contract, the very first example of it says it is violating transivity (more exactly symmetry) because it doesn't work when comparing a Point to ColorPoint and viceversa. "No way" I am thinking. "We compare instances of different classes, then we are surprised it doesn't work."

I read in continuation, and the transivity problem is solved, by how I understand, by basically saying "just don't compare instances of different types, even if they have inheritance". I see no diferrence between the very first example and its "solved" variant with ColorPoint and Point having composition relation, not inheritance.