Search in sources :

Example 41 with AnnotatedBeanDefinition

use of org.springframework.beans.factory.annotation.AnnotatedBeanDefinition in project spring-framework by spring-projects.

the class AnnotationBeanNameGeneratorTests method generateBeanNameFromMetaComponentWithStringValue.

@Test
public void generateBeanNameFromMetaComponentWithStringValue() {
    BeanDefinitionRegistry registry = new SimpleBeanDefinitionRegistry();
    AnnotatedBeanDefinition bd = new AnnotatedGenericBeanDefinition(ComponentFromStringMeta.class);
    String beanName = this.beanNameGenerator.generateBeanName(bd, registry);
    assertThat(beanName).isEqualTo("henry");
}
Also used : SimpleBeanDefinitionRegistry(org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry) AnnotatedBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition) SimpleBeanDefinitionRegistry(org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry) BeanDefinitionRegistry(org.springframework.beans.factory.support.BeanDefinitionRegistry) AnnotatedGenericBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition) Test(org.junit.jupiter.api.Test)

Example 42 with AnnotatedBeanDefinition

use of org.springframework.beans.factory.annotation.AnnotatedBeanDefinition in project spring-framework by spring-projects.

the class AnnotationScopeMetadataResolverTests method resolveScopeMetadataShouldNotApplyScopedProxyModeToSingleton.

@Test
public void resolveScopeMetadataShouldNotApplyScopedProxyModeToSingleton() {
    AnnotatedBeanDefinition bd = new AnnotatedGenericBeanDefinition(AnnotatedWithSingletonScope.class);
    ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(bd);
    assertThat(scopeMetadata).as("resolveScopeMetadata(..) must *never* return null.").isNotNull();
    assertThat(scopeMetadata.getScopeName()).isEqualTo(BeanDefinition.SCOPE_SINGLETON);
    assertThat(scopeMetadata.getScopedProxyMode()).isEqualTo(NO);
}
Also used : AnnotatedBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition) AnnotatedGenericBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition) Test(org.junit.jupiter.api.Test)

Example 43 with AnnotatedBeanDefinition

use of org.springframework.beans.factory.annotation.AnnotatedBeanDefinition in project webanno by webanno.

the class ExportedComponentPostProcessor method postProcessAfterInitialization.

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    ConfigurableListableBeanFactory parentBeanFactory = getParentBeanFactory();
    if (parentBeanFactory == null) {
        return bean;
    }
    BeanDefinition bd;
    try {
        bd = beanFactory.getBeanDefinition(beanName);
    } catch (NoSuchBeanDefinitionException exception) {
        return bean;
    }
    if (bd instanceof AnnotatedBeanDefinition) {
        AnnotatedBeanDefinition metadata = (AnnotatedBeanDefinition) bd;
        if (metadata.getMetadata().isAnnotated(ExportedComponent.class.getName())) {
            parentBeanFactory.registerSingleton(beanName, bean);
        }
    }
    return bean;
}
Also used : AnnotatedBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition) AnnotatedBeanDefinition(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition) BeanDefinition(org.springframework.beans.factory.config.BeanDefinition) NoSuchBeanDefinitionException(org.springframework.beans.factory.NoSuchBeanDefinitionException) ConfigurableListableBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)

Aggregations

AnnotatedBeanDefinition (org.springframework.beans.factory.annotation.AnnotatedBeanDefinition)43 Test (org.junit.jupiter.api.Test)22 BeanDefinition (org.springframework.beans.factory.config.BeanDefinition)17 AnnotatedGenericBeanDefinition (org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition)16 BeanDefinitionRegistry (org.springframework.beans.factory.support.BeanDefinitionRegistry)13 SimpleBeanDefinitionRegistry (org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry)9 MethodMetadata (org.springframework.core.type.MethodMetadata)7 AnnotationMetadata (org.springframework.core.type.AnnotationMetadata)5 SimpleMetadataReaderFactory (org.springframework.core.type.classreading.SimpleMetadataReaderFactory)5 MutablePropertyValues (org.springframework.beans.MutablePropertyValues)4 AbstractBeanDefinition (org.springframework.beans.factory.support.AbstractBeanDefinition)4 Map (java.util.Map)3 BeanDefinitionHolder (org.springframework.beans.factory.config.BeanDefinitionHolder)3 BeanDefinitionBuilder (org.springframework.beans.factory.support.BeanDefinitionBuilder)3 AnnotationAttributes (org.springframework.core.annotation.AnnotationAttributes)3 MetadataReader (org.springframework.core.type.classreading.MetadataReader)3 ManagedMap (org.springframework.beans.factory.support.ManagedMap)2 RootBeanDefinition (org.springframework.beans.factory.support.RootBeanDefinition)2 StandardMethodMetadata (org.springframework.core.type.StandardMethodMetadata)2 MetadataReaderFactory (org.springframework.core.type.classreading.MetadataReaderFactory)2