Skip to content

io microsphere spring config context annotation AnnotatedPropertySourceLoader

github-actions[bot] edited this page Jun 18, 2026 · 20 revisions

AnnotatedPropertySourceLoader

Type: Class | Module: microsphere-spring-context | Package: io.microsphere.spring.config.context.annotation | Since: 1.0.0

Source: microsphere-spring-context/src/main/java/io/microsphere/spring/config/context/annotation/AnnotatedPropertySourceLoader.java

Overview

Abstract base class implementations that load a PropertySource when a Configuration class is annotated with a specific annotation.

This class provides a foundation for conditionally adding property sources to the Spring environment based on annotations present on configuration classes. Subclasses must implement the #loadPropertySource(AnnotationAttributes, AnnotationMetadata, String, MutablePropertySources) method to define how the property source is loaded.

Example Usage

{@code
public class MyPropertySourceLoader extends AnnotatedPropertySourceLoader {

### Declaration

```java
public abstract class AnnotatedPropertySourceLoader extends AnnotatedBeanCapableImportSelector
```

**Author:** Mercy

## Version Information

- **Introduced in:** `1.0.0`
- **Current Project Version:** `0.2.27-SNAPSHOT`

## Version Compatibility

This component is tested and compatible with the following Java versions:

| Java Version | Status |
|:---:|:---:|
| Java 17 | ✅ Compatible |
| Java 21 | ✅ Compatible |
| Java 25 | ✅ Compatible |

## Examples

```java
public class MyPropertySourceLoader extends AnnotatedPropertySourceLoader {

    @Override
    protected void loadPropertySource(AnnotationAttributes attributes,
                                      AnnotationMetadata metadata,
                                      String propertySourceName,
                                      MutablePropertySources propertySources) throws Throwable {
        // Create and add a custom PropertySource
        PropertySource> propertySource = new CustomPropertySource(propertySourceName);
        propertySources.addLast(propertySource);
    }
}
```

## Usage

### Maven Dependency

Add the following dependency to your `pom.xml`:

```xml

    io.github.microsphere-projects
    microsphere-spring-context
    ${microsphere-spring.version}

```

> **Tip:** Use the BOM (`microsphere-spring-dependencies`) for consistent version management. See the [Getting Started](https://github.com/microsphere-projects/microsphere-spring#getting-started) guide.

### Import

```java
import io.microsphere.spring.config.context.annotation.AnnotatedPropertySourceLoader;
```

## API Reference

### Public Methods

| Method | Description |
|--------|-------------|
| `selectImports` |  |
| `getAnnotationType` | Resolve the name of `PropertySource` |

## See Also

- `ResourcePropertySourceLoader`
- `PropertySourceExtensionLoader`

---

*This documentation was auto-generated from the source code of [microsphere-spring](https://github.com/microsphere-projects/microsphere-spring).*

Home

spring-context

spring-guice

spring-jdbc

spring-test

spring-web

spring-webflux

spring-webmvc

Clone this wiki locally