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

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

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

BeanFactory.getAliases介绍

[英]Return the aliases for the given bean name, if any. All of those aliases point to the same bean when used in a #getBean call.

If the given name is an alias, the corresponding original bean name and other aliases (if any) will be returned, with the original bean name being the first element in the array.

Will ask the parent factory if the bean cannot be found in this factory instance.
[中]返回给定bean名称的别名(如果有)。当在#getBean调用中使用时,所有这些别名都指向同一个bean。
如果给定的名称是别名,则将返回相应的原始bean名称和其他别名(如果有),原始bean名称是数组中的第一个元素。
将询问父工厂是否在此工厂实例中找不到该bean。

代码示例

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

String[] aliases = beanFactory.getAliases(beanName);
for (String alias : aliases) {
  if (isMatch(alias, mappedName)) {

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

@Override
public String[] getAliases(String name) {
  String beanName = transformedBeanName(name);
  List<String> aliases = new ArrayList<>();
  boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX);
  String fullBeanName = beanName;
  if (factoryPrefix) {
    fullBeanName = FACTORY_BEAN_PREFIX + beanName;
  }
  if (!fullBeanName.equals(name)) {
    aliases.add(fullBeanName);
  }
  String[] retrievedAliases = super.getAliases(beanName);
  for (String retrievedAlias : retrievedAliases) {
    String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias;
    if (!alias.equals(name)) {
      aliases.add(alias);
    }
  }
  if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) {
    BeanFactory parentBeanFactory = getParentBeanFactory();
    if (parentBeanFactory != null) {
      aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName)));
    }
  }
  return StringUtils.toStringArray(aliases);
}

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

private void aliasesAreRespected(Class<?> testClass, Supplier<TestBean> testBeanSupplier, String beanName) {
  TestBean testBean = testBeanSupplier.get();
  BeanFactory factory = initBeanFactory(testClass);
  assertSame(testBean, factory.getBean(beanName));
  Arrays.stream(factory.getAliases(beanName)).map(factory::getBean).forEach(alias -> assertSame(testBean, alias));
  // method name should not be registered
  exception.expect(NoSuchBeanDefinitionException.class);
  factory.getBean("methodName");
}

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

for (String alias : beanFactory.getAliases(beanName)) {
  if (qualifier.test(alias)) {
    return true;

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

@Override
public String[] getAliases(String name) {
  String beanName = transformedBeanName(name);
  List<String> aliases = new ArrayList<>();
  boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX);
  String fullBeanName = beanName;
  if (factoryPrefix) {
    fullBeanName = FACTORY_BEAN_PREFIX + beanName;
  }
  if (!fullBeanName.equals(name)) {
    aliases.add(fullBeanName);
  }
  String[] retrievedAliases = super.getAliases(beanName);
  for (String retrievedAlias : retrievedAliases) {
    String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias;
    if (!alias.equals(name)) {
      aliases.add(alias);
    }
  }
  if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) {
    BeanFactory parentBeanFactory = getParentBeanFactory();
    if (parentBeanFactory != null) {
      aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName)));
    }
  }
  return StringUtils.toStringArray(aliases);
}

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

for (String alias : beanFactory.getAliases(beanName)) {
  if (qualifier.test(alias)) {
    return true;

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

TestBean alias1 = (TestBean) getBeanFactory().getBean("myalias");
assertTrue(tb1 == alias1);
List tb1Aliases = Arrays.asList(getBeanFactory().getAliases("aliased"));
assertEquals(2, tb1Aliases.size());
assertTrue(tb1Aliases.contains("myalias"));
assertTrue(tb2 == alias3b);
List tb2Aliases = Arrays.asList(getBeanFactory().getAliases("multiAliased"));
assertEquals(4, tb2Aliases.size());
assertTrue(tb2Aliases.contains("alias1"));
assertTrue(tb3 == alias4);
assertTrue(tb3 == alias5);
List tb3Aliases = Arrays.asList(getBeanFactory().getAliases("aliasWithoutId1"));
assertEquals(2, tb3Aliases.size());
assertTrue(tb3Aliases.contains("aliasWithoutId2"));

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

@Override
public String[] getAliases(String name) {
  String beanName = transformedBeanName(name);
  List<String> aliases = new ArrayList<String>();
  boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX);
  String fullBeanName = beanName;
  if (factoryPrefix) {
    fullBeanName = FACTORY_BEAN_PREFIX + beanName;
  }
  if (!fullBeanName.equals(name)) {
    aliases.add(fullBeanName);
  }
  String[] retrievedAliases = super.getAliases(beanName);
  for (String retrievedAlias : retrievedAliases) {
    String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias;
    if (!alias.equals(name)) {
      aliases.add(alias);
    }
  }
  if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) {
    BeanFactory parentBeanFactory = getParentBeanFactory();
    if (parentBeanFactory != null) {
      aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName)));
    }
  }
  return StringUtils.toStringArray(aliases);
}

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

private boolean isMatch(String mappedName, String beanName) {
  boolean matched = PatternMatchUtils.simpleMatch(mappedName, beanName);
  if (!matched) {
    BeanFactory beanFactory = getBeanFactory();
    if (beanFactory != null) {
      String[] aliases = beanFactory.getAliases(beanName);
      for (String alias : aliases) {
        matched = PatternMatchUtils.simpleMatch(mappedName, alias);
        if (matched) {
          break;
        }
      }
    }
  }
  return matched;
}

代码示例来源:origin: top.wboost/datasource-spring-boot-starter

TransactionManagerDto(String beanName,String dsName,BeanFactory beanFactory,BeanDefinition beanDefinition) {
    this.beanName = beanName;
    this.dsAliasNames = beanFactory.getAliases(dsName);
    this.dsName = dsName;
    this.beanDefinition = beanDefinition;
    //this.platformTransactionManager = (PlatformTransactionManager) beanFactory.getBean(beanName);
  }
}

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

@Override
  public String[] getAliases(String name) {
    for (BeanFactory f : factories) {
      try {
        String[] s = f.getAliases(name);
        if (s != null) {
          return s;
        }    
      } catch (BeansException e) {
        LOG.info("bean exception", e);
      }
    }
    return null;
  }
}

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

/**
 * Resolves all names (including aliases) from the given Spring {@link BeanFactory}
 * assigned to the {@link #getAssociatedBeanName()}.
 *
 * @param beanFactory {@link BeanFactory} used to resolve the names assigned to the Spring bean
 * identified by the {@link #getAssociatedBeanName()}.
 * @return a {@link Set} of all the names assigned to the Spring bean identified by
 * the {@link #getAssociatedBeanName()} using the provided Spring {@link BeanFactory}.
 * @see org.springframework.beans.factory.BeanFactory
 * @see #getAssociatedBeanName()
 */
Set<String> resolveAndInitializeBeanNamesWithAliases(BeanFactory beanFactory) {
  String associatedBeanName = getAssociatedBeanName();
  if (beanFactory != null && StringUtils.hasText(associatedBeanName)) {
    String[] beanAliases = beanFactory.getAliases(associatedBeanName);
    this.associatedBeanNameWithAliases = new TreeSet<>();
    this.associatedBeanNameWithAliases.add(associatedBeanName);
    Collections.addAll(this.associatedBeanNameWithAliases, beanAliases);
  }
  return this.associatedBeanNameWithAliases;
}

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

/**
 * Resolves all names (including aliases) from the given Spring {@link BeanFactory}
 * assigned to the {@link #getAssociatedBeanName()}.
 *
 * @param beanFactory {@link BeanFactory} used to resolve the names assigned to the Spring bean
 * identified by the {@link #getAssociatedBeanName()}.
 * @return a {@link Set} of all the names assigned to the Spring bean identified by
 * the {@link #getAssociatedBeanName()} using the provided Spring {@link BeanFactory}.
 * @see org.springframework.beans.factory.BeanFactory
 * @see #getAssociatedBeanName()
 */
Set<String> resolveAndInitializeBeanNamesWithAliases(BeanFactory beanFactory) {
  String associatedBeanName = getAssociatedBeanName();
  if (beanFactory != null && StringUtils.hasText(associatedBeanName)) {
    String[] beanAliases = beanFactory.getAliases(associatedBeanName);
    this.associatedBeanNameWithAliases = new TreeSet<>();
    this.associatedBeanNameWithAliases.add(associatedBeanName);
    Collections.addAll(this.associatedBeanNameWithAliases, beanAliases);
  }
  return this.associatedBeanNameWithAliases;
}

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

public String[] getAliases(String name) throws NoSuchBeanDefinitionException {
  String beanName = transformedBeanName(name);
  // Check if bean actually exists in this bean factory.
  if (containsSingleton(beanName) || containsBeanDefinition(beanName)) {
    // If found, gather aliases.
    List aliases = new ArrayList();
    synchronized (this.aliasMap) {
      for (Iterator it = this.aliasMap.entrySet().iterator(); it.hasNext();) {
        Map.Entry entry = (Map.Entry) it.next();
        if (entry.getValue().equals(beanName)) {
          aliases.add(entry.getKey());
        }
      }
    }
    return (String[]) aliases.toArray(new String[aliases.size()]);
  }
  else {
    // Not found -> check parent.
    if (this.parentBeanFactory != null) {
      return this.parentBeanFactory.getAliases(name);
    }
    throw new NoSuchBeanDefinitionException(beanName, toString());
  }
}

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

/**
 * Identify as bean to proxy if the bean name is in the configured list of names.
 */
@Override
protected Object[] getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource targetSource) {
  if (this.beanNames != null) {
    for (String mappedName : this.beanNames) {
      if (FactoryBean.class.isAssignableFrom(beanClass)) {
        if (!mappedName.startsWith(BeanFactory.FACTORY_BEAN_PREFIX)) {
          continue;
        }
        mappedName = mappedName.substring(BeanFactory.FACTORY_BEAN_PREFIX.length());
      }
      if (isMatch(beanName, mappedName)) {
        return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS;
      }
      BeanFactory beanFactory = getBeanFactory();
      if (beanFactory != null) {
        String[] aliases = beanFactory.getAliases(beanName);
        for (String alias : aliases) {
          if (isMatch(alias, mappedName)) {
            return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS;
          }
        }
      }
    }
  }
  return DO_NOT_PROXY;
}

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

String[] aliases = beanFactory.getAliases(beanName);
for (String alias : aliases) {
  if (isMatch(alias, mappedName)) {

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

@Override
public String[] getAliases(String name) {
  String beanName = transformedBeanName(name);
  List<String> aliases = new ArrayList<String>();
  boolean factoryPrefix = name.startsWith(FACTORY_BEAN_PREFIX);
  String fullBeanName = beanName;
  if (factoryPrefix) {
    fullBeanName = FACTORY_BEAN_PREFIX + beanName;
  }
  if (!fullBeanName.equals(name)) {
    aliases.add(fullBeanName);
  }
  String[] retrievedAliases = super.getAliases(beanName);
  for (String retrievedAlias : retrievedAliases) {
    String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias;
    if (!alias.equals(name)) {
      aliases.add(alias);
    }
  }
  if (!containsSingleton(beanName) && !containsBeanDefinition(beanName)) {
    BeanFactory parentBeanFactory = getParentBeanFactory();
    if (parentBeanFactory != null) {
      aliases.addAll(Arrays.asList(parentBeanFactory.getAliases(fullBeanName)));
    }
  }
  return StringUtils.toStringArray(aliases);
}

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

private boolean isMatch(String mappedName, String beanName) {
  boolean matched = PatternMatchUtils.simpleMatch(mappedName, beanName);
  if (!matched) {
    BeanFactory beanFactory = getBeanFactory();
    if (beanFactory != null) {
      String[] aliases = beanFactory.getAliases(beanName);
      for (String alias : aliases) {
        matched = PatternMatchUtils.simpleMatch(mappedName, alias);
        if (matched) {
          break;
        }
      }
    }
  }
  return matched;
}

代码示例来源:origin: org.jasig.portal/uportal3-impl

/**
 * @see org.springframework.beans.factory.BeanFactory#getAliases(java.lang.String)
 */
public String[] getAliases(String name) throws NoSuchBeanDefinitionException {
  final IContextResolver contextResolver = this.getContextResolver();
  final ContextResolverAnswer answer = contextResolver.resolveFactoryAndName(this, name);
  final String leafBeanName = answer.getLeafBeanName();
  if (NormalizedPath.CURRENT_ELEMENT_NAME.equals(leafBeanName)) {
    return new String[0];
  }
  else {
    final BeanFactory factory = answer.getOwnerFactory();
    
    if (this == factory) {
      return super.getAliases(leafBeanName);
    }
    else {
      return factory.getAliases(leafBeanName);
    }
  }
}

代码示例来源:origin: org.jasig.portal/uportal3-impl

/**
 * @see org.springframework.beans.factory.BeanFactory#getAliases(java.lang.String)
 */
public String[] getAliases(String name) throws NoSuchBeanDefinitionException {
  final IContextResolver contextResolver = this.getContextResolver();
  final ContextResolverAnswer answer = contextResolver.resolveFactoryAndName(this, name);
  final String leafBeanName = answer.getLeafBeanName();
  if (NormalizedPath.CURRENT_ELEMENT_NAME.equals(leafBeanName)) {
    return new String[0];
  }
  else {
    final BeanFactory factory = answer.getOwnerFactory();
    
    if (this == factory) {
      return super.getAliases(leafBeanName);
    }
    else {
      return factory.getAliases(leafBeanName);
    }
  }
}

相关文章