A component is any Java class that is annotated with one of the Spring @Component-based annotations, which include (but aren't limited to):

  • @Component
  • @Repository
  • @Service
  • @Controller
  • @RestController
  • @XapiRestController
  • @XnatPlugin