A component is a class that Spring creates and manages.
Spring has special annotations to mark classes.
Meaning:
Spring needs a mark to know:
which class to create
which class to manage
Core container (easy meaning)
Core container = Spring itself
So this sentence:
“managed by the core container”
Means:
“managed by Spring”
@Service, @Repository, @Controller
These are special types of @Component.
They all mean the same basic thing:
“Spring, create this class.”
Difference (ONLY meaning, no theory)
@Repository → data / database
@Service → business logic
@Controller → web / API
But for Spring:
👉 They are ALL @Component.