Annotation Interface ComponentScan.Filter

Enclosing class:
ComponentScan

@Retention(RUNTIME) @Target({}) 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
    Description
    Class<?>[]
    The class or classes to use as the filter.
    The pattern (or patterns) to use for the filter, as an alternative to specifying a Class value().
    The type of filter to use.
    Class<?>[]
    Alias for classes().
  • Element Details

    • type

      The type of filter to use.

      Default is FilterType.ANNOTATION.

      See Also:
      Default:
      ANNOTATION
    • value

      @AliasFor("classes") Class<?>[] value
      Alias for classes().
      See Also:
      Default:
      {}
    • classes

      @AliasFor("value") 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:
      Default:
      {}
    • pattern

      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:
      Default:
      {}