org.springframework.boot.context.properties

Annotation Type ConfigurationPropertiesScan



  • @Target(value=TYPE)
     @Retention(value=RUNTIME)
     @Documented
     @Import(value=org.springframework.boot.context.properties.ConfigurationPropertiesScanRegistrar.class)
     @EnableConfigurationProperties
    public @interface ConfigurationPropertiesScan
    Configures the base packages used when scanning for @ConfigurationProperties classes. One of basePackageClasses(), basePackages() or its alias value() may be specified to define specific packages to scan. If specific packages are not defined scanning will occur from the package of the class with this annotation.

    Note: Classes annotated or meta-annotated with @Component will not be picked up by this annotation.

    Since:
    2.2.0
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      java.lang.Class<?>[] basePackageClasses
      Type-safe alternative to basePackages() for specifying the packages to scan for configuration properties.
      java.lang.String[] basePackages
      Base packages to scan for configuration properties.
      java.lang.String[] value
      Alias for the basePackages() attribute.
    • Element Detail

      • value

        @AliasFor(value="basePackages")
        public abstract java.lang.String[] value
        Alias for the basePackages() attribute. Allows for more concise annotation declarations e.g.: @ConfigurationPropertiesScan("org.my.pkg") instead of @ConfigurationPropertiesScan(basePackages="org.my.pkg").
        Returns:
        the base packages to scan
        Default:
        {}
      • basePackages

        @AliasFor(value="value")
        public abstract java.lang.String[] basePackages
        Base packages to scan for configuration properties. 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 base packages to scan
        Default:
        {}
      • basePackageClasses

        public abstract java.lang.Class<?>[] basePackageClasses
        Type-safe alternative to basePackages() for specifying the packages to scan for configuration properties. 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:
        classes from the base packages to scan
        Default:
        {}