https://blog.stackademic.com/springs-stereotype-annotations-component-service-repository-and-controller-f278db254225