List of usage examples for org.springframework.beans.factory.annotation AnnotatedGenericBeanDefinition setScope
@Override public void setScope(@Nullable String scope)
From source file:org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.java
/** * Register the {@link Configuration} class itself as a bean definition. */// w w w . j a v a 2s.c o m private void registerBeanDefinitionForImportedConfigurationClass(ConfigurationClass configClass) { AnnotationMetadata metadata = configClass.getMetadata(); AnnotatedGenericBeanDefinition configBeanDef = new AnnotatedGenericBeanDefinition(metadata); ScopeMetadata scopeMetadata = scopeMetadataResolver.resolveScopeMetadata(configBeanDef); configBeanDef.setScope(scopeMetadata.getScopeName()); String configBeanName = this.importBeanNameGenerator.generateBeanName(configBeanDef, this.registry); AnnotationConfigUtils.processCommonDefinitionAnnotations(configBeanDef, metadata); BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(configBeanDef, configBeanName); definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry); this.registry.registerBeanDefinition(definitionHolder.getBeanName(), definitionHolder.getBeanDefinition()); configClass.setBeanName(configBeanName); if (logger.isDebugEnabled()) { logger.debug("Registered bean definition for imported class '" + configBeanName + "'"); } }
From source file:org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.java
public void registerBean(ReaderEventListener eventListener, ClassLoader classloader) throws IOException { IJavaProject project = this.configClass.getJavaProject(); if (project == null) { return;//from w w w .j a v a 2 s . c o m } CachingJdtMetadataReaderFactory metadataReaderFactory = new CachingJdtMetadataReaderFactory(project, classloader); MetadataReader metadataReader = metadataReaderFactory .getMetadataReader(this.configClass.getFullyQualifiedName()); AnnotatedGenericBeanDefinition abd = new AnnotatedGenericBeanDefinition( metadataReader.getAnnotationMetadata()); // AnnotationMetadata metadata = abd.getMetadata(); // if (metadata.isAnnotated(Profile.class.getName())) { // AnnotationAttributes profile = MetadataUtils.attributesFor(metadata, Profile.class); // if (!this.environment.acceptsProfiles(profile.getStringArray("value"))) { // return; // } // } // ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(abd); // abd.setScope(scopeMetadata.getScopeName()); abd.setScope(BeanDefinition.SCOPE_SINGLETON); AnnotationBeanNameGenerator nameGenerator = new AnnotationBeanNameGenerator(); String beanName = nameGenerator.generateBeanName(abd, this.registry); // AnnotationConfigUtils.processCommonDefinitionAnnotations(abd); // if (qualifiers != null) { // for (Class<? extends Annotation> qualifier : qualifiers) { // if (Primary.class.equals(qualifier)) { // abd.setPrimary(true); // } // else if (Lazy.class.equals(qualifier)) { // abd.setLazyInit(true); // } // else { // abd.addQualifier(new AutowireCandidateQualifier(qualifier)); // } // } // } BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(abd, beanName); // definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry); BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, this.registry); eventListener.componentRegistered(new BeanComponentDefinition(abd, beanName)); }