org.springframework.beans.factory.BeanFactory.containsBean()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(102)

本文整理了Java中org.springframework.beans.factory.BeanFactory.containsBean()方法的一些代码示例,展示了BeanFactory.containsBean()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanFactory.containsBean()方法的具体详情如下:
包路径:org.springframework.beans.factory.BeanFactory
类名称:BeanFactory
方法名:containsBean

BeanFactory.containsBean介绍

[英]Does this bean factory contain a bean definition or externally registered singleton instance with the given name?

If the given name is an alias, it will be translated back to the corresponding canonical bean name.

If this factory is hierarchical, will ask any parent factory if the bean cannot be found in this factory instance.

If a bean definition or singleton instance matching the given name is found, this method will return true whether the named bean definition is concrete or abstract, lazy or eager, in scope or not. Therefore, note that a truereturn value from this method does not necessarily indicate that #getBeanwill be able to obtain an instance for the same name.
[中]这个bean工厂是否包含具有给定名称的bean定义或外部注册的单例实例?
如果给定的名称是别名,它将被翻译回相应的规范bean名称。
如果此工厂是分层的,则将询问任何父工厂是否在此工厂实例中找不到该bean。
如果找到与给定名称匹配的bean定义或单例实例,则无论指定的bean定义是具体的还是抽象的、懒惰的还是急切的、范围内的还是非范围内的,此方法都将返回true。因此,请注意,此方法的truereturn值并不一定表示#GetBean将能够获得相同名称的实例。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException {
  return (target instanceof BeanFactory && ((BeanFactory) target).containsBean(name));
}

代码示例来源:origin: alibaba/canal

public CanalInstance generate(String destination) {
  String beanName = destination;
  if (!beanFactory.containsBean(beanName)) {
    beanName = defaultName;
  }
  return (CanalInstance) beanFactory.getBean(beanName);
}

代码示例来源:origin: org.springframework/spring-context

@Override
public boolean canRead(EvaluationContext context, @Nullable Object target, String name) throws AccessException {
  return (target instanceof BeanFactory && ((BeanFactory) target).containsBean(name));
}

代码示例来源:origin: Activiti/Activiti

public boolean containsKey(Object key) {
 if ((key == null) || (!String.class.isAssignableFrom(key.getClass()))) {
  return false;
 }
 return beanFactory.containsBean((String) key);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Create a target source for bean instances. Uses any TargetSourceCreators if set.
 * Returns {@code null} if no custom TargetSource should be used.
 * <p>This implementation uses the "customTargetSourceCreators" property.
 * Subclasses can override this method to use a different mechanism.
 * @param beanClass the class of the bean to create a TargetSource for
 * @param beanName the name of the bean
 * @return a TargetSource for this bean
 * @see #setCustomTargetSourceCreators
 */
@Nullable
protected TargetSource getCustomTargetSource(Class<?> beanClass, String beanName) {
  // We can't create fancy target sources for directly registered singletons.
  if (this.customTargetSourceCreators != null &&
      this.beanFactory != null && this.beanFactory.containsBean(beanName)) {
    for (TargetSourceCreator tsc : this.customTargetSourceCreators) {
      TargetSource ts = tsc.getTargetSource(beanClass, beanName);
      if (ts != null) {
        // Found a matching TargetSource.
        if (logger.isTraceEnabled()) {
          logger.trace("TargetSourceCreator [" + tsc +
              "] found custom TargetSource for bean with name '" + beanName + "'");
        }
        return ts;
      }
    }
  }
  // No custom TargetSource found.
  return null;
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  protected Object getResourceToInject(Object target, @Nullable String requestingBeanName) {
    if (StringUtils.hasLength(this.beanName)) {
      if (beanFactory != null && beanFactory.containsBean(this.beanName)) {
        // Local match found for explicitly specified local bean name.
        Object bean = beanFactory.getBean(this.beanName, this.lookupType);
        if (requestingBeanName != null && beanFactory instanceof ConfigurableBeanFactory) {
          ((ConfigurableBeanFactory) beanFactory).registerDependentBean(this.beanName, requestingBeanName);
        }
        return bean;
      }
      else if (this.isDefaultName && !StringUtils.hasLength(this.mappedName)) {
        throw new NoSuchBeanDefinitionException(this.beanName,
            "Cannot resolve 'beanName' in local BeanFactory. Consider specifying a general 'name' value instead.");
      }
    }
    // JNDI name lookup - may still go to a local BeanFactory.
    return getResource(this, requestingBeanName);
  }
}

代码示例来源:origin: spring-projects/spring-framework

else if (beanFactory.containsBean(qualifier)) {

代码示例来源:origin: org.springframework/spring-context

@Override
  protected Object getResourceToInject(Object target, @Nullable String requestingBeanName) {
    if (StringUtils.hasLength(this.beanName)) {
      if (beanFactory != null && beanFactory.containsBean(this.beanName)) {
        // Local match found for explicitly specified local bean name.
        Object bean = beanFactory.getBean(this.beanName, this.lookupType);
        if (requestingBeanName != null && beanFactory instanceof ConfigurableBeanFactory) {
          ((ConfigurableBeanFactory) beanFactory).registerDependentBean(this.beanName, requestingBeanName);
        }
        return bean;
      }
      else if (this.isDefaultName && !StringUtils.hasLength(this.mappedName)) {
        throw new NoSuchBeanDefinitionException(this.beanName,
            "Cannot resolve 'beanName' in local BeanFactory. Consider specifying a general 'name' value instead.");
      }
    }
    // JNDI name lookup - may still go to a local BeanFactory.
    return getResource(this, requestingBeanName);
  }
}

代码示例来源:origin: org.springframework/spring-beans

else if (beanFactory.containsBean(qualifier)) {

代码示例来源:origin: spring-projects/spring-framework

factory instanceof AutowireCapableBeanFactory && !factory.containsBean(name)) {
autowiredBeanNames = new LinkedHashSet<>();
resource = ((AutowireCapableBeanFactory) factory).resolveDependency(

代码示例来源:origin: org.springframework/spring-context

factory instanceof AutowireCapableBeanFactory && !factory.containsBean(name)) {
autowiredBeanNames = new LinkedHashSet<>();
resource = ((AutowireCapableBeanFactory) factory).resolveDependency(

代码示例来源:origin: spring-projects/spring-framework

@Override
public boolean containsBean(String name) {
  String beanName = transformedBeanName(name);
  if (containsSingleton(beanName) || containsBeanDefinition(beanName)) {
    return (!BeanFactoryUtils.isFactoryDereference(name) || isFactoryBean(name));
  }
  // Not found -> check parent.
  BeanFactory parentBeanFactory = getParentBeanFactory();
  return (parentBeanFactory != null && parentBeanFactory.containsBean(originalBeanName(name)));
}

代码示例来源:origin: spring-projects/spring-framework

@Test(expected = BeansException.class)
public void notThere() {
  assertFalse(getBeanFactory().containsBean("Mr Squiggle"));
  getBeanFactory().getBean("Mr Squiggle");
}

代码示例来源:origin: spring-projects/spring-framework

Assert.hasText(beanName, "Bean name must not be null");
Assert.notNull(beanFactory, "BeanFactory must not be null");
if (!beanFactory.containsBean(beanName)) {
  throw new IllegalArgumentException("BeanFactory [" + beanFactory +
      "] does not contain specified controller advice bean '" + beanName + "'");

代码示例来源:origin: spring-projects/spring-framework

private PlatformTransactionManager associateTransactionManager(BeanFactory beanFactory, String name) {
  PlatformTransactionManager transactionManager = mock(PlatformTransactionManager.class);
  given(beanFactory.containsBean(name)).willReturn(true);
  given(beanFactory.getBean(name, PlatformTransactionManager.class)).willReturn(transactionManager);
  return transactionManager;
}

代码示例来源:origin: org.springframework/spring-beans

@Override
public boolean containsBean(String name) {
  String beanName = transformedBeanName(name);
  if (containsSingleton(beanName) || containsBeanDefinition(beanName)) {
    return (!BeanFactoryUtils.isFactoryDereference(name) || isFactoryBean(name));
  }
  // Not found -> check parent.
  BeanFactory parentBeanFactory = getParentBeanFactory();
  return (parentBeanFactory != null && parentBeanFactory.containsBean(originalBeanName(name)));
}

代码示例来源:origin: org.springframework/spring-web

Assert.hasText(beanName, "Bean name must not be null");
Assert.notNull(beanFactory, "BeanFactory must not be null");
if (!beanFactory.containsBean(beanName)) {
  throw new IllegalArgumentException("BeanFactory [" + beanFactory +
      "] does not contain specified controller advice bean '" + beanName + "'");

代码示例来源:origin: spring-projects/spring-framework

/**
 * Roderick bean inherits from rod, overriding name only.
 */
@Test
public void inheritance() {
  assertTrue(getBeanFactory().containsBean("rod"));
  assertTrue(getBeanFactory().containsBean("roderick"));
  TestBean rod = (TestBean) getBeanFactory().getBean("rod");
  TestBean roderick = (TestBean) getBeanFactory().getBean("roderick");
  assertTrue("not == ", rod != roderick);
  assertTrue("rod.name is Rod", rod.getName().equals("Rod"));
  assertTrue("rod.age is 31", rod.getAge() == 31);
  assertTrue("roderick.name is Roderick", roderick.getName().equals("Roderick"));
  assertTrue("roderick.age was inherited", roderick.getAge() == rod.getAge());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void determineTransactionManagerWithQualifierSeveralTimes() {
  BeanFactory beanFactory = mock(BeanFactory.class);
  TransactionInterceptor ti = simpleTransactionInterceptor(beanFactory);
  PlatformTransactionManager txManager = associateTransactionManager(beanFactory, "fooTransactionManager");
  DefaultTransactionAttribute attribute = new DefaultTransactionAttribute();
  attribute.setQualifier("fooTransactionManager");
  PlatformTransactionManager actual = ti.determineTransactionManager(attribute);
  assertSame(txManager, actual);
  // Call again, should be cached
  PlatformTransactionManager actual2 = ti.determineTransactionManager(attribute);
  assertSame(txManager, actual2);
  verify(beanFactory, times(1)).containsBean("fooTransactionManager");
  verify(beanFactory, times(1)).getBean("fooTransactionManager", PlatformTransactionManager.class);
}

代码示例来源:origin: spring-projects/spring-framework

assertTrue(appCtx.containsBean("rod1"));
assertTrue(appCtx.containsBean("jenny"));

相关文章