接口 ImportBeanDefinitionRegistrar
- 所有已知实现类:
AutoProxyRegistrar
public interface ImportBeanDefinitionRegistrar
Interface to be implemented by types that register additional bean definitions when processing @Configuration
classes. Useful when operating at the bean definition level (as opposed to@Bean
method/instance level) is desired or necessary.Along with
@Configuration
andImportSelector
, classes of this type may be provided to the @Import
annotation (or may also be returned from anImportSelector
).An
ImportBeanDefinitionRegistrar
may implement any of the followingAware
interfaces, and their respective methods will be called prior toregisterBeanDefinitions(org.springframework.core.type.AnnotationMetadata, org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.beans.factory.support.BeanNameGenerator)
:Alternatively, the class may provide a single constructor with one or more of the following supported parameter types:
See implementations and associated unit tests for usage examples.
- 从以下版本开始:
- 3.1
- 作者:
- Chris Beams, Juergen Hoeller
- 另请参阅:
Import
,ImportSelector
,Configuration
方法概要
所有方法 实例方法 默认方法 修饰符和类型 方法 说明 default void
registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)
Register bean definitions as necessary based on the given annotation metadata of the importing@Configuration
class.default void
registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator)
Register bean definitions as necessary based on the given annotation metadata of the importing@Configuration
class.
方法详细资料
registerBeanDefinitions
default void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator)
Register bean definitions as necessary based on the given annotation metadata of the importing@Configuration
class.Note that
BeanDefinitionRegistryPostProcessor
types may not be registered here, due to lifecycle constraints related to@Configuration
class processing.The default implementation delegates to
registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry)
.- 参数:
importingClassMetadata
- annotation metadata of the importing classregistry
- current bean definition registryimportBeanNameGenerator
- the bean name generator strategy for imported beans:ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR
by default, or a user-provided one ifConfigurationClassPostProcessor.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
has been set. In the latter case, the passed-in strategy will be the same used for component scanning in the containing application context (otherwise, the default component-scan naming strategy isAnnotationBeanNameGenerator.INSTANCE
).- 从以下版本开始:
- 5.2
- 另请参阅:
ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR
,ConfigurationClassPostProcessor.setBeanNameGenerator(org.springframework.beans.factory.support.BeanNameGenerator)
registerBeanDefinitions
default void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)
Register bean definitions as necessary based on the given annotation metadata of the importing@Configuration
class.Note that
BeanDefinitionRegistryPostProcessor
types may not be registered here, due to lifecycle constraints related to@Configuration
class processing.The default implementation is empty.
- 参数:
importingClassMetadata
- annotation metadata of the importing classregistry
- current bean definition registry