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
      java.lang.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

        @AliasFor(annotation=Component.class)
        public abstract java.lang.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 (or empty String otherwise)
        Default:
        ""