Stereotypes are part of Spring annotations config, used with @ComponentScan.
Annotations:
@Components – is a generic stereotype for any Spring managed components.
@Service – annotates classes at the service layer, code that holds business layer.
@Repository – annotation used for classes from the persistence layer. Catches specific exceptions and re-throws them as Spring unified unchecked exceptions.
@Controller (@RestController) – denotes a frontend endpoint.
@Configuration – configuration class containing bean definitions (@Bean).
Spring vs JSR
Other
@Lazy – dependency will be injected the first time is used.
@DependsOn – Spring guarantees that the defined beans will be initialized before attempting an initialization of the current bean.