Skip to content

io microsphere spring beans factory BeanMethodInjectionPointDependencyResolver

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

BeanMethodInjectionPointDependencyResolver

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

Source: microsphere-spring-context/src/main/java/io/microsphere/spring/beans/factory/BeanMethodInjectionPointDependencyResolver.java

Overview

InjectionPointDependencyResolver for Bean @Bean Method method

Declaration

public class BeanMethodInjectionPointDependencyResolver extends AbstractInjectionPointDependencyResolver

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

Method Examples

resolve

BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  Field field = ReflectionUtils.findField(Config.class, "myField");
  Set<String> dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(field, beanFactory, dependentBeanNames);
  // dependentBeanNames is empty — fields are ignored

resolve

BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  Constructor<?> constructor = ConstructorUtils.findConstructor(Config.class, Map.class);
  Set<String> dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(constructor, beanFactory, dependentBeanNames);
  // dependentBeanNames is empty — constructors are ignored

resolve

BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  // Given: @Bean public User user(@Autowired MyDependency[] deps) { ... }
  Method method = MethodUtils.findMethod(Config.class, "user", MyDependency[].class);
  Parameter parameter = method.getParameters()[0];
  Set<String> dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(parameter, beanFactory, dependentBeanNames);
  // dependentBeanNames contains bean names matching MyDependency

Usage

Maven Dependency

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.microsphere-projects</groupId>
    <artifactId>microsphere-spring-context</artifactId>
    <version>${microsphere-spring.version}</version>
</dependency>

Tip: Use the BOM (microsphere-spring-dependencies) for consistent version management. See the Getting Started guide.

Import

import io.microsphere.spring.beans.factory.BeanMethodInjectionPointDependencyResolver;

API Reference

Public Methods

Method Description
resolve No-op implementation. Field injection points are not resolved by
resolve No-op implementation. Constructor injection points are not resolved by
resolve Resolve the dependent bean names from the given Parameter only if the parameter

Method Details

resolve

public void resolve(Field field, ConfigurableListableBeanFactory beanFactory, Set<String> dependentBeanNames)

No-op implementation. Field injection points are not resolved by this resolver since it only handles Bean @Bean method parameters.

Example Usage

`BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  Field field = ReflectionUtils.findField(Config.class, "myField");
  Set dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(field, beanFactory, dependentBeanNames);
  // dependentBeanNames is empty — fields are ignored
`

resolve

public void resolve(Constructor constructor, ConfigurableListableBeanFactory beanFactory, Set<String> dependentBeanNames)

No-op implementation. Constructor injection points are not resolved by this resolver since it only handles Bean @Bean method parameters.

Example Usage

`BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  Constructor constructor = ConstructorUtils.findConstructor(Config.class, Map.class);
  Set dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(constructor, beanFactory, dependentBeanNames);
  // dependentBeanNames is empty — constructors are ignored
`

resolve

public void resolve(Parameter parameter, ConfigurableListableBeanFactory beanFactory, Set<String> dependentBeanNames)

Resolve the dependent bean names from the given Parameter only if the parameter belongs to a Method annotated with Bean @Bean. Parameters from non-@Bean methods and constructors are silently skipped.

Example Usage

`BeanMethodInjectionPointDependencyResolver resolver = new BeanMethodInjectionPointDependencyResolver();
  resolver.setBeanFactory(beanFactory);
  // Given: @Bean public User user(@Autowired MyDependency[] deps) { ... `
  Method method = MethodUtils.findMethod(Config.class, "user", MyDependency[].class);
  Parameter parameter = method.getParameters()[0];
  Set dependentBeanNames = new LinkedHashSet<>();
  resolver.resolve(parameter, beanFactory, dependentBeanNames);
  // dependentBeanNames contains bean names matching MyDependency
}

This documentation was auto-generated from the source code of microsphere-spring.

Home

spring-context

spring-guice

spring-jdbc

spring-test

spring-web

spring-webflux

spring-webmvc

Clone this wiki locally