Skip to content

io microsphere spring context annotation AnnotatedBeanCapableImportSelector

github-actions[bot] edited this page Jul 11, 2026 · 8 revisions

AnnotatedBeanCapableImportSelector

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

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

Overview

An abstract base class for ImportSelector implementations that select imports based on annotation attributes with resolved placeholders.

This class extends AnnotatedBeanCapableImportCandidate to provide common functionality for handling annotated bean capabilities and implements ImportSelector to integrate with Spring's import mechanism.

Example Usage

Suppose you want to create an import selector for an annotation @EnableMyFeature:

{@code

### Declaration

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

**Author:** Mercy

## Version Information

- **Introduced in:** `1.0.0`
- **Current Project Version:** `0.2.36-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
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface EnableMyFeature {
    String value() default "";
}

public class MyFeatureImportSelector extends AnnotatedBeanCapableImportSelector {

    @Override
    protected void selectImports(AnnotationMetadata metadata,
                                 ResolvablePlaceholderAnnotationAttributes attributes,
                                 Set imports) {
        String featureName = attributes.getString("value");
        if (StringUtils.hasText(featureName)) {
            imports.add("com.example.MyFeatureConfig");
        }
    }
}
```

## 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.context.annotation.AnnotatedBeanCapableImportSelector;
```

## API Reference

### Public Methods

| Method | Description |
|--------|-------------|
| `selectImports` |  |

## See Also

- `AnnotatedBeanCapableImportCandidate`
- `ImportSelector`

---

*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