org.springframework.context.annotation

Annotation Type ComponentScan.Filter



  • @Retention(value=RUNTIME)
     @Target(value={})
    public static @interface ComponentScan.Filter
    Declares the type filter to be used as an include filter or exclude filter.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      java.lang.Class<?>[] classes
      The class or classes to use as the filter.
      java.lang.String[] pattern
      The pattern (or patterns) to use for the filter, as an alternative to specifying a Class value().
      FilterType type
      The type of filter to use.
      java.lang.Class<?>[] value
      Alias for classes().
      • classes

        @AliasFor(value="value")
        public abstract java.lang.Class<?>[] classes
        The class or classes to use as the filter.

        The following table explains how the classes will be interpreted based on the configured value of the type() attribute.

        FilterTypeClass Interpreted As
        ANNOTATION the annotation itself
        ASSIGNABLE_TYPE the type that detected components should be assignable to
        CUSTOM an implementation of TypeFilter

        When multiple classes are specified, OR logic is applied — for example, "include types annotated with @Foo OR @Bar".

        Custom TypeFilters may optionally implement any of the following Aware interfaces, and their respective methods will be called prior to match:

        Specifying zero classes is permitted but will have no effect on component scanning.

        Since:
        4.2
        See Also:
        value(), type()
        Default:
        {}
      • pattern

        public abstract java.lang.String[] pattern
        The pattern (or patterns) to use for the filter, as an alternative to specifying a Class value().

        If type() is set to ASPECTJ, this is an AspectJ type pattern expression. If type() is set to REGEX, this is a regex pattern for the fully-qualified class names to match.

        See Also:
        type(), classes()
        Default:
        {}