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

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

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

BeanFactory.isTypeMatch介绍

[英]Check whether the bean with the given name matches the specified type. More specifically, check whether a #getBean call for the given name would return an object that is assignable to the specified target type.

Translates aliases back to the corresponding canonical bean name. Will ask the parent factory if the bean cannot be found in this factory instance.
[中]检查具有给定名称的bean是否与指定类型匹配。更具体地说,检查给定名称的#getBean调用是否会返回可分配给指定目标类型的对象。
将别名转换回相应的规范bean名称。将询问父工厂是否在此工厂实例中找不到该bean。

代码示例

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

@Override
public int getOrder() {
  if (this.beanFactory != null && this.aspectBeanName != null &&
      this.beanFactory.isSingleton(this.aspectBeanName) &&
      this.beanFactory.isTypeMatch(this.aspectBeanName, Ordered.class)) {
    return ((Ordered) this.beanFactory.getBean(this.aspectBeanName)).getOrder();
  }
  return Ordered.LOWEST_PRECEDENCE;
}

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

@Test
public void configWithObjectReturnType() {
  BeanFactory factory = initBeanFactory(ConfigWithNonSpecificReturnTypes.class);
  assertEquals(Object.class, factory.getType("stringBean"));
  assertFalse(factory.isTypeMatch("stringBean", String.class));
  String stringBean = factory.getBean("stringBean", String.class);
  assertEquals("foo", stringBean);
}

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

if (parentBeanFactory != null && !containsBeanDefinition(beanName)) {
  return parentBeanFactory.isTypeMatch(originalBeanName(name), typeToMatch);

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

if (parentBeanFactory != null && !containsBeanDefinition(beanName)) {
  return parentBeanFactory.isTypeMatch(originalBeanName(name), typeToMatch);

代码示例来源:origin: camunda/camunda-bpm-platform

if (parentBeanFactory != null && !containsBeanDefinition(beanName)) {
  return parentBeanFactory.isTypeMatch(originalBeanName(name), targetType);

代码示例来源:origin: org.kuali.rice/rice-it-internal-tools

@Override
public boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException {
  for (BeanFactory f : factories) {
    try {
      boolean b = f.isTypeMatch(name, targetType);
      if (b) {
        return b;
      }    
    } catch (BeansException e) {
      LOG.info("bean exception", e);
    }
  }
  return false;
}

代码示例来源:origin: org.kuali.rice/rice-it-internal-tools

@Override
public boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException {
  for (BeanFactory f : factories) {
    try {
      boolean b = f.isTypeMatch(name, typeToMatch);
      if (b) {
        return b;
      }
    } catch (BeansException e) {
      LOG.info("bean exception", e);
    }
  }
  return false;
}

代码示例来源:origin: com.google.inject.extensions/guice-spring

void initialize(BeanFactory beanFactory) {
 this.beanFactory = beanFactory;
 if (!beanFactory.isTypeMatch(name, type)) {
  throw new ClassCastException(
    "Spring bean named '" + name + "' does not implement " + type.getName() + ".");
 }
 singleton = beanFactory.isSingleton(name);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop

@Override
public int getOrder() {
  if (this.beanFactory != null && this.aspectBeanName != null &&
      this.beanFactory.isSingleton(this.aspectBeanName) &&
      this.beanFactory.isTypeMatch(this.aspectBeanName, Ordered.class)) {
    return ((Ordered) this.beanFactory.getBean(this.aspectBeanName)).getOrder();
  }
  return Ordered.LOWEST_PRECEDENCE;
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public int getOrder() {
  if (this.beanFactory.isSingleton(this.aspectBeanName) &&
      this.beanFactory.isTypeMatch(this.aspectBeanName, Ordered.class)) {
    return ((Ordered) this.beanFactory.getBean(this.aspectBeanName)).getOrder();
  }
  return Ordered.LOWEST_PRECEDENCE;
}

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

.filter(it -> it.isTypeMatch(poolName, Pool.class))
.map(it -> {
  try {

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

.filter(it -> it.isTypeMatch(poolName, Pool.class))
.map(it -> {
  try {

代码示例来源:origin: com.holon-platform.jpa/holon-datastore-jpa-spring

/**
 * Get the {@link DataSource} type bean name which corresponds to given data context id
 * @param registry Bean registry
 * @param beanFactory Bean factory
 * @param dataContextId Optional data context id
 * @return The DataSource bean name, or <code>null</code> if not found
 */
private static String getDataSourceBeanName(BeanDefinitionRegistry registry, BeanFactory beanFactory,
    String dataContextId) {
  // check unique DataSource if no data context id specified
  if (dataContextId == null && beanFactory instanceof ListableBeanFactory) {
    String[] dataSourceBeanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(
        (ListableBeanFactory) beanFactory, DataSource.class, false, false);
    if (dataSourceBeanNames != null && dataSourceBeanNames.length == 1) {
      return dataSourceBeanNames[0];
    }
  }
  // check bean name using data context id
  String dsBeanName = BeanRegistryUtils.buildBeanName(dataContextId,
      EnableDataSource.DEFAULT_DATASOURCE_BEAN_NAME);
  if (registry.containsBeanDefinition(dsBeanName) && beanFactory.isTypeMatch(dsBeanName, DataSource.class)) {
    return dsBeanName;
  }
  return null;
}

代码示例来源:origin: com.oracle.coherence.spring/coherence-spring

/**
 * {@inheritDoc}
 */
@Override
public boolean realizes(Class<?>          clzClass,
            ParameterResolver resolver,
            ClassLoader       loader)
{
  String      sBeanName = getBeanName().evaluate(resolver);
  BeanFactory factory   = ensureBeanFactory(resolver, loader);
  if (factory.containsBean(sBeanName))
  {
    return factory.isTypeMatch(sBeanName, clzClass);
  }
  else
  {
    String        sFactory  = getFactoryNameAsString(BeanFactory.class, getFactoryName(), resolver);
    StringBuilder sbProblem = new StringBuilder();
    sbProblem.append("Spring bean '").append(sBeanName).append("' could not be loaded from bean factory '")
      .append(sFactory).append("' (").append(factory).append(")");
    StringBuilder sbAdvice = new StringBuilder();
    sbAdvice.append("Ensure that a bean name of '").append(sBeanName).append("' exists in bean factory '")
      .append(sFactory).append("'.");
    throw new ConfigurationException(sbProblem.toString(), sbAdvice.toString());
  }
}

代码示例来源:origin: org.glassfish.hk2/spring-bridge

@Override
public boolean justInTimeResolution(Injectee failedInjectionPoint) {
  Class<?> lookForMe = getClassFromType(failedInjectionPoint.getRequiredType());
  String name = getName(failedInjectionPoint);
  
  try {
    if (name != null) {
      if (beanFactory.containsBean(name) && beanFactory.isTypeMatch(name, lookForMe)) {
        addMe(lookForMe, name, failedInjectionPoint);
        return true;
      }
    }
    else {
      if (beanFactory.getBean(lookForMe) != null) {
        addMe(lookForMe, null, failedInjectionPoint);
        return true;
      }
      
    }
  }
  catch (Throwable th) {
    return false;
  }
  
  return false;
}

代码示例来源:origin: apache/servicemix-bundles

if (parentBeanFactory != null && !containsBeanDefinition(beanName)) {
  return parentBeanFactory.isTypeMatch(originalBeanName(name), typeToMatch);

相关文章