org.springframework.stereotype

## Annotation Type Service

-     @Target(value=TYPE)
      @Retention(value=RUNTIME)
      @Documented
      @Component
      public @interface Service

  Indicates that an annotated class is a "Service", originally defined by Domain-Driven Design (Evans, 2003) as "an operation offered as an interface that stands alone in the model, with no encapsulated state."

  May also indicate that a class is a "Business Service Facade" (in the Core J2EE patterns sense), or something similar. This annotation is a general-purpose stereotype and individual teams may narrow their semantics and use as appropriate.

  This annotation serves as a specialization of `@Component`, allowing for implementation classes to be autodetected through classpath scanning.

  Since:
    2.5
  Author:
    Juergen Hoeller
  See Also:
    `Component`, `Repository`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `value` The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.

- - ### Element Detail

    - #### value

          public abstract String value

      The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an autodetected component.
      Returns:
        the suggested component name, if any
      Default:
        ""