https://howtodoinjava.com/spring-core/how-to-use-spring-component-repository-service-and-controller-annotations/