@Target(value=TYPE) @Retention(value=RUNTIME) @Documented public @interface Component
Other class-level annotations may be considered as identifying
a component as well, typically a special kind of component:
e.g. the @Repository annotation or AspectJ's
@Aspect annotation.
Repository,
Service,
Controller,
ClassPathBeanDefinitionScannerpublic abstract String value