Annotation Type IntegrationComponentScan


@Retention(RUNTIME)
@Target(TYPE)
@Documented
@Import(IntegrationComponentScanRegistrar.class)
public @interface IntegrationComponentScan
Configures component scanning directives for use with Configuration classes.

Scans for MessagingGateway on interfaces to create GatewayProxyFactoryBeans.

Since:
4.0
See Also:
ComponentScan, MessagingGateway
  • Optional Element Summary

    Optional Elements 
    Modifier and Type Optional Element Description
    java.lang.Class<?>[] basePackageClasses
    Type-safe alternative to basePackages() for specifying the packages to scan for annotated components.
    java.lang.String[] basePackages
    Base packages to scan for annotated components.
    org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
    Specifies which types are not eligible for component scanning.
    org.springframework.context.annotation.ComponentScan.Filter[] includeFilters
    Specifies which types are eligible for component scanning.
    boolean useDefaultFilters
    Indicates whether automatic detection of classes annotated with @MessagingGateway should be enabled.
    java.lang.String[] value
    Alias for the basePackages() attribute.
  • Element Details

    • value

      @AliasFor("basePackages") java.lang.String[] value
      Alias for the basePackages() attribute. Allows for more concise annotation declarations e.g.: @IntegrationComponentScan("org.my.pkg") instead of @IntegrationComponentScan(basePackages="org.my.pkg").
      Returns:
      the array of 'basePackages'.
      Default:
      {}
    • basePackages

      @AliasFor("value") java.lang.String[] basePackages
      Base packages to scan for annotated components. The value() is an alias for (and mutually exclusive with) this attribute. Use basePackageClasses() for a type-safe alternative to String-based package names.
      Returns:
      the array of 'basePackages'.
      Default:
      {}
    • basePackageClasses

      java.lang.Class<?>[] basePackageClasses
      Type-safe alternative to basePackages() for specifying the packages to scan for annotated components. The package of each class specified will be scanned. Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.
      Returns:
      the array of 'basePackageClasses'.
      Default:
      {}
    • useDefaultFilters

      boolean useDefaultFilters
      Indicates whether automatic detection of classes annotated with @MessagingGateway should be enabled.
      Returns:
      the useDefaultFilters flag
      Since:
      5.0
      Default:
      true
    • includeFilters

      org.springframework.context.annotation.ComponentScan.Filter[] includeFilters
      Specifies which types are eligible for component scanning.

      Further narrows the set of candidate components from everything in basePackages() to everything in the base packages that matches the given filter or filters.

      Note that these filters will be applied in addition to the default filters, if specified. Any type under the specified base packages which matches a given filter will be included, even if it does not match the default filters (i.e. is not annotated with @MessagingGateway).

      Returns:
      the includeFilters array
      Since:
      5.0
      See Also:
      excludeFilters()
      Default:
      {}
    • excludeFilters

      org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
      Specifies which types are not eligible for component scanning.
      Returns:
      the excludeFilters array
      Since:
      5.0
      See Also:
      includeFilters()
      Default:
      {}