diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc index c8557146739..d569cb9d8ca 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc @@ -1227,7 +1227,7 @@ Spring Boot provides infrastructure to bind `@ConfigurationProperties` types and You can either enable configuration properties on a class-by-class basis or enable configuration property scanning that works in a similar manner to component scanning. Sometimes, classes annotated with `@ConfigurationProperties` might not be suitable for scanning, for example, if you're developing your own auto-configuration or you want to enable them conditionally. -In these cases, specify the list of types to process using the `@EnableConfigurationProperties` or `@ImportConfigurationPropertiesBean` annotations. +In these cases, specify the list of types to process using the `@EnableConfigurationProperties` or `@ConfigurationPropertiesImport` annotations. This can be done on any `@Configuration` class, as shown in the following example: [source,java,indent=0] @@ -1253,7 +1253,7 @@ If you want to define specific packages to scan, you can do so as shown in the f [NOTE] ==== -When the `@ConfigurationProperties` bean is registered using configuration property scanning or via `@EnableConfigurationProperties` or `@ImportConfigurationPropertiesBean`, the bean has a conventional name: `-`, where `` is the environment key prefix specified in the `@ConfigurationProperties` annotation and `` is the fully qualified name of the bean. +When the `@ConfigurationProperties` bean is registered using configuration property scanning or via `@EnableConfigurationProperties` or `@ConfigurationPropertiesImport`, the bean has a conventional name: `-`, where `` is the environment key prefix specified in the `@ConfigurationProperties` annotation and `` is the fully qualified name of the bean. If the annotation does not provide any prefix, only the fully qualified name of the bean is used. The bean name in the example above is `acme-com.example.AcmeProperties`. @@ -1333,18 +1333,18 @@ To configure a bean from the `Environment` properties, add `@ConfigurationProper Any JavaBean property defined with the `another` prefix is mapped onto that `ExampleItem` bean in manner similar to the preceding `AcmeProperties` example. If you want to use constructor binding with a third-party class, you can't use a `@Bean` method since Spring will need to create the object instance. -For those situations, you can use an `@ImportConfigurationPropertiesBean` annotation on your `@Configuration` or `@SpringBootApplication` class. +For those situations, you can use an `@ConfigurationPropertiesImport` annotation on your `@Configuration` or `@SpringBootApplication` class. [source,java,indent=0] ---- @SpringBootApplication - @ImportConfigurationPropertiesBean(type = ExampleItem.class, prefix = "another") + @ConfigurationPropertiesImport(type = ExampleItem.class, prefix = "another") public class MyApp { ... } ---- -TIP: `@ImportConfigurationPropertiesBean` also works for JavaBean bindings as long as the type has a single no-arg constructor +TIP: `@ConfigurationPropertiesImport` also works for JavaBean bindings as long as the type has a single no-arg constructor diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java index b0dd63ba13e..696af70b3f7 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java @@ -80,9 +80,9 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor static final String NAME_ANNOTATION = "org.springframework.boot.context.properties.bind.Name"; - static final String IMPORT_CONFIGURATION_PROPERTIES_BEAN_ANNOATION = "org.springframework.boot.context.properties.ImportConfigurationPropertiesBean"; + static final String CONFIGURATION_PROPERTIES_IMPORT_ANNOATION = "org.springframework.boot.context.properties.ConfigurationPropertiesImport"; - static final String IMPORT_CONFIGURATION_PROPERTIES_BEANS_ANNOATION = "org.springframework.boot.context.properties.ImportConfigurationPropertiesBeans"; + static final String CONFIGURATION_PROPERTIES_IMPORTS_ANNOATION = "org.springframework.boot.context.properties.ConfigurationPropertiesImports"; private static final Set SUPPORTED_OPTIONS = Collections .unmodifiableSet(Collections.singleton(ADDITIONAL_METADATA_LOCATIONS_OPTION)); @@ -125,12 +125,12 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor return NAME_ANNOTATION; } - protected String importConfigurationPropertiesBeanAnnotation() { - return IMPORT_CONFIGURATION_PROPERTIES_BEAN_ANNOATION; + protected String configurationPropertiesImportAnnotation() { + return CONFIGURATION_PROPERTIES_IMPORT_ANNOATION; } - protected String importConfigurationPropertiesBeansAnnotation() { - return IMPORT_CONFIGURATION_PROPERTIES_BEANS_ANNOATION; + protected String configurationPropertiesImportsAnnotation() { + return CONFIGURATION_PROPERTIES_IMPORTS_ANNOATION; } @Override @@ -151,8 +151,8 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor this.metadataEnv = new MetadataGenerationEnvironment(env, configurationPropertiesAnnotation(), nestedConfigurationPropertyAnnotation(), deprecatedConfigurationPropertyAnnotation(), constructorBindingAnnotation(), defaultValueAnnotation(), endpointAnnotation(), - readOperationAnnotation(), nameAnnotation(), importConfigurationPropertiesBeanAnnotation(), - importConfigurationPropertiesBeansAnnotation()); + readOperationAnnotation(), nameAnnotation(), configurationPropertiesImportAnnotation(), + configurationPropertiesImportsAnnotation()); } @Override @@ -160,7 +160,7 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor this.metadataCollector.processing(roundEnv); processConfigurationProperties(roundEnv); processEndpoint(roundEnv); - processImportConfigurationPropertiesBean(roundEnv); + processConfigurationPropertiesImport(roundEnv); if (roundEnv.processingOver()) { try { writeMetaData(); @@ -188,22 +188,22 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor } } - private void processImportConfigurationPropertiesBean(RoundEnvironment roundEnv) { - TypeElement importConfigurationPropertiesBeanType = this.metadataEnv - .getImportConfigurationPropertiesBeanAnnotationElement(); - TypeElement importConfigurationPropertiesBeansType = this.metadataEnv - .getImportConfigurationPropertiesBeansAnnotationElement(); - if (importConfigurationPropertiesBeanType == null && importConfigurationPropertiesBeansType == null) { + private void processConfigurationPropertiesImport(RoundEnvironment roundEnv) { + TypeElement configurationPropertiesImportType = this.metadataEnv + .getConfigurationPropertiesImportAnnotationElement(); + TypeElement configurationPropertiesImportsType = this.metadataEnv + .getConfigurationPropertiesImportsAnnotationElement(); + if (configurationPropertiesImportType == null && configurationPropertiesImportsType == null) { return; } Set elements = new LinkedHashSet<>(); - if (importConfigurationPropertiesBeanType != null) { - elements.addAll(roundEnv.getElementsAnnotatedWith(importConfigurationPropertiesBeanType)); + if (configurationPropertiesImportType != null) { + elements.addAll(roundEnv.getElementsAnnotatedWith(configurationPropertiesImportType)); } - if (importConfigurationPropertiesBeansType != null) { - elements.addAll(roundEnv.getElementsAnnotatedWith(importConfigurationPropertiesBeansType)); + if (configurationPropertiesImportsType != null) { + elements.addAll(roundEnv.getElementsAnnotatedWith(configurationPropertiesImportsType)); } - elements.forEach(this::processImportConfigurationPropertiesBean); + elements.forEach(this::processConfigurationPropertiesImport); } private Map> getElementsAnnotatedOrMetaAnnotatedWith(RoundEnvironment roundEnv, @@ -314,13 +314,13 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor } } - private void processImportConfigurationPropertiesBean(Element element) { - this.metadataEnv.getImportConfigurationPropertiesBeanAnnotations(element) - .forEach(this::processImportConfigurationPropertiesBean); + private void processConfigurationPropertiesImport(Element element) { + this.metadataEnv.getConfigurationPropertiesImportAnnotations(element) + .forEach(this::processConfigurationPropertiesImport); } @SuppressWarnings("unchecked") - private void processImportConfigurationPropertiesBean(AnnotationMirror annotation) { + private void processConfigurationPropertiesImport(AnnotationMirror annotation) { String prefix = getPrefix(annotation); List types = (List) this.metadataEnv.getAnnotationElementValues(annotation).get("type"); for (TypeMirror type : types) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironment.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironment.java index 74b2d973632..ea5f207d0e0 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironment.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironment.java @@ -97,15 +97,15 @@ class MetadataGenerationEnvironment { private final String nameAnnotation; - private final String importConfigurationPropertiesBeanAnnotation; + private final String configurationPropertiesImportAnnotation; - private final String importConfigurationPropertiesBeansAnnotation; + private final String configurationPropertiesImportsAnnotation; MetadataGenerationEnvironment(ProcessingEnvironment environment, String configurationPropertiesAnnotation, String nestedConfigurationPropertyAnnotation, String deprecatedConfigurationPropertyAnnotation, String constructorBindingAnnotation, String defaultValueAnnotation, String endpointAnnotation, - String readOperationAnnotation, String nameAnnotation, String importConfigurationPropertiesBeanAnnotation, - String importConfigurationPropertiesBeansAnnotation) { + String readOperationAnnotation, String nameAnnotation, String configurationPropertiesImportAnnotation, + String configurationPropertiesImportsAnnotation) { this.typeUtils = new TypeUtils(environment); this.elements = environment.getElementUtils(); this.messager = environment.getMessager(); @@ -118,8 +118,8 @@ class MetadataGenerationEnvironment { this.endpointAnnotation = endpointAnnotation; this.readOperationAnnotation = readOperationAnnotation; this.nameAnnotation = nameAnnotation; - this.importConfigurationPropertiesBeanAnnotation = importConfigurationPropertiesBeanAnnotation; - this.importConfigurationPropertiesBeansAnnotation = importConfigurationPropertiesBeansAnnotation; + this.configurationPropertiesImportAnnotation = configurationPropertiesImportAnnotation; + this.configurationPropertiesImportsAnnotation = configurationPropertiesImportsAnnotation; } private static FieldValuesParser resolveFieldValuesParser(ProcessingEnvironment env) { @@ -265,12 +265,12 @@ class MetadataGenerationEnvironment { return this.elements.getTypeElement(this.configurationPropertiesAnnotation); } - TypeElement getImportConfigurationPropertiesBeanAnnotationElement() { - return this.elements.getTypeElement(this.importConfigurationPropertiesBeanAnnotation); + TypeElement getConfigurationPropertiesImportAnnotationElement() { + return this.elements.getTypeElement(this.configurationPropertiesImportAnnotation); } - TypeElement getImportConfigurationPropertiesBeansAnnotationElement() { - return this.elements.getTypeElement(this.importConfigurationPropertiesBeansAnnotation); + TypeElement getConfigurationPropertiesImportsAnnotationElement() { + return this.elements.getTypeElement(this.configurationPropertiesImportsAnnotation); } AnnotationMirror getConfigurationPropertiesAnnotation(Element element) { @@ -297,13 +297,13 @@ class MetadataGenerationEnvironment { return getAnnotation(element, this.nameAnnotation); } - List getImportConfigurationPropertiesBeanAnnotations(Element element) { + List getConfigurationPropertiesImportAnnotations(Element element) { List annotations = new ArrayList<>(); - AnnotationMirror importBean = getAnnotation(element, this.importConfigurationPropertiesBeanAnnotation); + AnnotationMirror importBean = getAnnotation(element, this.configurationPropertiesImportAnnotation); if (importBean != null) { annotations.add(importBean); } - AnnotationMirror importBeans = getAnnotation(element, this.importConfigurationPropertiesBeansAnnotation); + AnnotationMirror importBeans = getAnnotation(element, this.configurationPropertiesImportsAnnotation); if (importBeans != null) { AnnotationValue value = importBeans.getElementValues().values().iterator().next(); for (Object contained : (List) value.getValue()) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/PropertyDescriptorResolver.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/PropertyDescriptorResolver.java index 9d54ff49a7a..2d4a8d6ab6f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/PropertyDescriptorResolver.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/PropertyDescriptorResolver.java @@ -50,7 +50,7 @@ class PropertyDescriptorResolver { * factory method}, if any. * @param type the target type * @param fromImport it the type was imported via a - * {@code @ImportConfigurationPropertiesBean} + * {@code @ConfigurationPropertiesImport} * @param factoryMethod the method that triggered the metadata for that {@code type} * or {@code null} * @return the candidate properties for metadata generation diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ImportBeanTests.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ImportBeanTests.java index 20feac41157..a7ac43f3ef7 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ImportBeanTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ImportBeanTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.configurationprocessor.metadata.ConfigurationMetadata; import org.springframework.boot.configurationprocessor.metadata.Metadata; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBean; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBeans; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImport; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImports; import org.springframework.boot.configurationsample.importbean.ImportJavaBeanConfigurationPropertiesBean; import org.springframework.boot.configurationsample.importbean.ImportMultipleTypeConfigurationPropertiesBean; import org.springframework.boot.configurationsample.importbean.ImportRepeatedConfigurationPropertiesBean; @@ -32,8 +32,8 @@ import org.springframework.boot.configurationsample.importbean.ImportedValueObje import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link ImportConfigurationPropertiesBean} and - * {@link ImportConfigurationPropertiesBeans}. + * Tests for {@link ConfigurationPropertiesImport} and + * {@link ConfigurationPropertiesImports}. * * @author Phillip Webb */ diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironmentFactory.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironmentFactory.java index 046876da4e1..dba47d05283 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironmentFactory.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/MetadataGenerationEnvironmentFactory.java @@ -40,8 +40,8 @@ class MetadataGenerationEnvironmentFactory implements Function[] type(); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ImportConfigurationPropertiesBeans.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ConfigurationPropertiesImports.java similarity index 84% rename from spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ImportConfigurationPropertiesBeans.java rename to spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ConfigurationPropertiesImports.java index 90e3fd3bdb3..ec3651c5cf0 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ImportConfigurationPropertiesBeans.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/ConfigurationPropertiesImports.java @@ -23,7 +23,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * Alternative to Spring Boot's {@code ImportConfigurationPropertiesBeans} for testing + * Alternative to Spring Boot's {@code ConfigurationPropertiesImports} for testing * (removes the need for a dependency on the real annotation). * * @author Phillip Webb @@ -31,8 +31,8 @@ import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented -public @interface ImportConfigurationPropertiesBeans { +public @interface ConfigurationPropertiesImports { - ImportConfigurationPropertiesBean[] value(); + ConfigurationPropertiesImport[] value(); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportJavaBeanConfigurationPropertiesBean.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportJavaBeanConfigurationPropertiesBean.java index 73e6221fda1..14aae652cc0 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportJavaBeanConfigurationPropertiesBean.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportJavaBeanConfigurationPropertiesBean.java @@ -16,14 +16,14 @@ package org.springframework.boot.configurationsample.importbean; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBean; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImport; /** * An import of a java bean. * * @author Phillip Webb */ -@ImportConfigurationPropertiesBean(type = ImportedJavaBean.class, prefix = "importbean") +@ConfigurationPropertiesImport(type = ImportedJavaBean.class, prefix = "importbean") public class ImportJavaBeanConfigurationPropertiesBean { } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportMultipleTypeConfigurationPropertiesBean.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportMultipleTypeConfigurationPropertiesBean.java index 8b23d04a4d9..dd0e09cbefd 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportMultipleTypeConfigurationPropertiesBean.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportMultipleTypeConfigurationPropertiesBean.java @@ -16,14 +16,14 @@ package org.springframework.boot.configurationsample.importbean; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBean; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImport; /** * An import of a java bean and a value object. * * @author Phillip Webb */ -@ImportConfigurationPropertiesBean(type = { ImportedJavaBean.class, ImportedValueObject.class }, prefix = "importbean") +@ConfigurationPropertiesImport(type = { ImportedJavaBean.class, ImportedValueObject.class }, prefix = "importbean") public class ImportMultipleTypeConfigurationPropertiesBean { } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportRepeatedConfigurationPropertiesBean.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportRepeatedConfigurationPropertiesBean.java index 5f09dd3808d..466bded40f8 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportRepeatedConfigurationPropertiesBean.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportRepeatedConfigurationPropertiesBean.java @@ -16,15 +16,15 @@ package org.springframework.boot.configurationsample.importbean; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBean; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImport; /** * An import of a java bean and a value object. * * @author Phillip Webb */ -@ImportConfigurationPropertiesBean(type = ImportedJavaBean.class, prefix = "jb") -@ImportConfigurationPropertiesBean(type = ImportedValueObject.class, prefix = "vo") +@ConfigurationPropertiesImport(type = ImportedJavaBean.class, prefix = "jb") +@ConfigurationPropertiesImport(type = ImportedValueObject.class, prefix = "vo") public class ImportRepeatedConfigurationPropertiesBean { } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportValueObjectConfigurationPropertiesBean.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportValueObjectConfigurationPropertiesBean.java index 1412b14c542..98653852bd1 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportValueObjectConfigurationPropertiesBean.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/importbean/ImportValueObjectConfigurationPropertiesBean.java @@ -16,14 +16,14 @@ package org.springframework.boot.configurationsample.importbean; -import org.springframework.boot.configurationsample.ImportConfigurationPropertiesBean; +import org.springframework.boot.configurationsample.ConfigurationPropertiesImport; /** * An import of a value object. * * @author Phillip Webb */ -@ImportConfigurationPropertiesBean(type = ImportedValueObject.class, prefix = "importbean") +@ConfigurationPropertiesImport(type = ImportedValueObject.class, prefix = "importbean") public class ImportValueObjectConfigurationPropertiesBean { } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBean.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImport.java similarity index 95% rename from spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBean.java rename to spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImport.java index 14fcac09109..eae18055a6a 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBean.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImport.java @@ -46,9 +46,9 @@ import org.springframework.core.annotation.AliasFor; @Documented @EnableConfigurationProperties @ConfigurationProperties -@Repeatable(ImportConfigurationPropertiesBeans.class) -@Import(ImportConfigurationPropertiesBeanRegistrar.class) -public @interface ImportConfigurationPropertiesBean { +@Repeatable(ConfigurationPropertiesImports.class) +@Import(ConfigurationPropertiesImportRegistrar.class) +public @interface ConfigurationPropertiesImport { /** * One or more types that should be imported as a bean. diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanRegistrar.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportRegistrar.java similarity index 76% rename from spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanRegistrar.java rename to spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportRegistrar.java index abe37a5cc9a..e3c2199ba2b 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanRegistrar.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportRegistrar.java @@ -25,34 +25,34 @@ import org.springframework.core.type.AnnotationMetadata; /** * {@link ImportBeanDefinitionRegistrar} for - * {@link ImportConfigurationPropertiesBean @ImportConfigurationPropertiesBean}. + * {@link ConfigurationPropertiesImport @ConfigurationPropertiesImport}. * * @author Phillip Webb */ -class ImportConfigurationPropertiesBeanRegistrar implements ImportBeanDefinitionRegistrar { +class ConfigurationPropertiesImportRegistrar implements ImportBeanDefinitionRegistrar { @Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator) { ConfigurationPropertiesBeanRegistrar registrar = new ConfigurationPropertiesBeanRegistrar(registry); MergedAnnotations annotations = importingClassMetadata.getAnnotations(); - registerBeans(registrar, annotations.get(ImportConfigurationPropertiesBeans.class)); - registerBean(registrar, annotations.get(ImportConfigurationPropertiesBean.class)); + registerBeans(registrar, annotations.get(ConfigurationPropertiesImports.class)); + registerBean(registrar, annotations.get(ConfigurationPropertiesImport.class)); } private void registerBeans(ConfigurationPropertiesBeanRegistrar registrar, - MergedAnnotation annotation) { + MergedAnnotation annotation) { if (!annotation.isPresent()) { return; } - for (MergedAnnotation containedAnnotation : annotation - .getAnnotationArray(MergedAnnotation.VALUE, ImportConfigurationPropertiesBean.class)) { + for (MergedAnnotation containedAnnotation : annotation + .getAnnotationArray(MergedAnnotation.VALUE, ConfigurationPropertiesImport.class)) { registerBean(registrar, containedAnnotation); } } private void registerBean(ConfigurationPropertiesBeanRegistrar registrar, - MergedAnnotation annotation) { + MergedAnnotation annotation) { if (!annotation.isPresent()) { return; } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeans.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImports.java similarity index 76% rename from spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeans.java rename to spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImports.java index 320af34b755..c1b45eec220 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeans.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesImports.java @@ -25,24 +25,24 @@ import java.lang.annotation.Target; import org.springframework.context.annotation.Import; /** - * Container annotation that aggregates several {@link ImportConfigurationPropertiesBean} + * Container annotation that aggregates several {@link ConfigurationPropertiesImport} * annotations. * * @author Phillip Webb * @since 2.4.0 - * @see ImportConfigurationPropertiesBean + * @see ConfigurationPropertiesImport */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @EnableConfigurationProperties -@Import(ImportConfigurationPropertiesBeanRegistrar.class) -public @interface ImportConfigurationPropertiesBeans { +@Import(ConfigurationPropertiesImportRegistrar.class) +public @interface ConfigurationPropertiesImports { /** - * The contained {@link ImportConfigurationPropertiesBean} annotations. + * The contained {@link ConfigurationPropertiesImport} annotations. * @return the contained annotations */ - ImportConfigurationPropertiesBean[] value(); + ConfigurationPropertiesImport[] value(); } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/EnableConfigurationProperties.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/EnableConfigurationProperties.java index 37c40f4ca60..9bf352f23ef 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/EnableConfigurationProperties.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/EnableConfigurationProperties.java @@ -51,7 +51,7 @@ public @interface EnableConfigurationProperties { * {@link ConfigurationProperties @ConfigurationProperties} annotated beans with * Spring. Standard Spring Beans will also be scanned regardless of this value. * @return {@code @ConfigurationProperties} annotated beans to register - * @see ImportConfigurationPropertiesBean + * @see ConfigurationPropertiesImport */ Class[] value() default {}; diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportTests.java similarity index 87% rename from spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanTests.java rename to spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportTests.java index 3f67130e268..fdaee1f4473 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ImportConfigurationPropertiesBeanTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesImportTests.java @@ -26,11 +26,11 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; /** - * Tests for {@link ImportConfigurationPropertiesBean}. + * Tests for {@link ConfigurationPropertiesImport}. * * @author Phillip Webb */ -class ImportConfigurationPropertiesBeanTests { +class ConfigurationPropertiesImportTests { @Test void importJavaBean() { @@ -86,7 +86,7 @@ class ImportConfigurationPropertiesBeanTests { } @Configuration - @ImportConfigurationPropertiesBean(prefix = "test", type = JavaBean.class) + @ConfigurationPropertiesImport(prefix = "test", type = JavaBean.class) static class JavaBeanConfig { } @@ -106,7 +106,7 @@ class ImportConfigurationPropertiesBeanTests { } @Configuration - @ImportConfigurationPropertiesBean(prefix = "test", type = ValueObject.class) + @ConfigurationPropertiesImport(prefix = "test", type = ValueObject.class) static class ValueObjectConfig { } @@ -126,7 +126,7 @@ class ImportConfigurationPropertiesBeanTests { } @Configuration - @ImportConfigurationPropertiesBean(prefix = "test", type = MultiConstructorValueObject.class) + @ConfigurationPropertiesImport(prefix = "test", type = MultiConstructorValueObject.class) static class MultiConstructorValueObjectConfig { } @@ -145,14 +145,14 @@ class ImportConfigurationPropertiesBeanTests { } @Configuration - @ImportConfigurationPropertiesBean(type = { ValueObject.class, JavaBean.class }, prefix = "test") + @ConfigurationPropertiesImport(type = { ValueObject.class, JavaBean.class }, prefix = "test") static class ImportMultipleTypesConfig { } @Configuration - @ImportConfigurationPropertiesBean(type = ValueObject.class, prefix = "vo") - @ImportConfigurationPropertiesBean(type = JavaBean.class, prefix = "jb") + @ConfigurationPropertiesImport(type = ValueObject.class, prefix = "vo") + @ConfigurationPropertiesImport(type = JavaBean.class, prefix = "jb") static class ImportRepeatedAnnotationsConfig { }