org.springframework.beans.factory.config.BeanDefinition.getDependsOn()方法的使用及代码示例

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

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

BeanDefinition.getDependsOn介绍

[英]Return the bean names that this bean depends on.
[中]返回此bean所依赖的bean名称。

代码示例

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

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
  String[] autoInitBeanNames = beanFactory.getBeanNamesForType(AbstractCacheAutoInit.class, false, false);
  if (autoInitBeanNames != null) {
    BeanDefinition bd = beanFactory.getBeanDefinition(JetCacheAutoConfiguration.GLOBAL_CACHE_CONFIG_NAME);
    String[] dependsOn = bd.getDependsOn();
    if (dependsOn == null) {
      dependsOn = new String[0];
    }
    int oldLen = dependsOn.length;
    dependsOn = Arrays.copyOf(dependsOn, dependsOn.length + autoInitBeanNames.length);
    System.arraycopy(autoInitBeanNames,0, dependsOn, oldLen, autoInitBeanNames.length);
    bd.setDependsOn(dependsOn);
  }
}

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

private void addTransactionManagerDependencies(
    ConfigurableListableBeanFactory beanFactory, String transactionManager) {
  BeanDefinition bean = beanFactory.getBeanDefinition(transactionManager);
  Set<String> dependsOn = new LinkedHashSet<>(asList(bean.getDependsOn()));
  int initialSize = dependsOn.size();
  addDependencies(beanFactory, "javax.jms.ConnectionFactory", dependsOn);
  addDependencies(beanFactory, "javax.sql.DataSource", dependsOn);
  if (dependsOn.size() != initialSize) {
    bean.setDependsOn(StringUtils.toStringArray(dependsOn));
  }
}

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

private void addMessageDrivenContainerDependencies(
    ConfigurableListableBeanFactory beanFactory, String[] transactionManagers) {
  String[] messageDrivenContainers = getBeanNamesForType(beanFactory,
      "com.atomikos.jms.extra.MessageDrivenContainer");
  for (String messageDrivenContainer : messageDrivenContainers) {
    BeanDefinition bean = beanFactory.getBeanDefinition(messageDrivenContainer);
    Set<String> dependsOn = new LinkedHashSet<>(asList(bean.getDependsOn()));
    dependsOn.addAll(asList(transactionManagers));
    bean.setDependsOn(StringUtils.toStringArray(dependsOn));
  }
}

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

@Test
public void testInlineScriptFromTag() throws Exception {
  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
  BeanDefinition bd = ctx.getBeanFactory().getBeanDefinition("calculator");
  assertTrue(ObjectUtils.containsElement(bd.getDependsOn(), "messenger"));
  Calculator calculator = (Calculator) ctx.getBean("calculator");
  assertNotNull(calculator);
  assertFalse(calculator instanceof Refreshable);
}

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

@Override
  public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {

    try {
      getBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME, beanFactory);
    } catch (NoSuchBeanDefinitionException o_O) {
      throw new IllegalStateException(
          "Invalid auditing setup! Make sure you've used @EnableJpaAuditing or <jpa:auditing /> correctly!", o_O);
    }

    for (String beanName : getEntityManagerFactoryBeanNames(beanFactory)) {
      BeanDefinition definition = getBeanDefinition(beanName, beanFactory);
      definition.setDependsOn(addStringToArray(definition.getDependsOn(), BEAN_CONFIGURER_ASPECT_BEAN_NAME));
    }
  }
}

代码示例来源:origin: resteasy/Resteasy

beanDef.setDependsOn(concat(beanDef.getDependsOn(), dependsOnArray));

代码示例来源:origin: stackoverflow.com

public class DependsOnPostProcessor implements BeanFactoryPostProcessor {

  @Override
  public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(
        beanFactory, B.class, true, false);
    for (String beanName : beanNames) {
      BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
      definition.setDependsOn(StringUtils.addStringToArray(
          definition.getDependsOn(), "beanNameOfB");
    }
  }

}

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

/**
   * Gets the current list of dependencies declared in the BeanDefinition for the Bean, returning an
   * empty String array if the dependsOn property is null.
   *
   * @param beanDefinition the BeanDefinition of the Bean containing the dependencies.
   * @return an array of Bean names that this Bean depends on, or an empty String array if the dependencies
   * are undefined.
   * @see #addPdxDiskStoreDependency(org.springframework.beans.factory.config.BeanDefinition)
   * @see org.springframework.beans.factory.config.BeanDefinition#getDependsOn()
   */
  private String[] getDependsOn(BeanDefinition beanDefinition) {
    return SpringUtils.defaultIfNull(beanDefinition.getDependsOn(), EMPTY_STRING_ARRAY);
  }
}

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

/**
   * Gets the current list of dependencies declared in the BeanDefinition for the Bean, returning an
   * empty String array if the dependsOn property is null.
   *
   * @param beanDefinition the BeanDefinition of the Bean containing the dependencies.
   * @return an array of Bean names that this Bean depends on, or an empty String array if the dependencies
   * are undefined.
   * @see #addPdxDiskStoreDependency(org.springframework.beans.factory.config.BeanDefinition)
   * @see org.springframework.beans.factory.config.BeanDefinition#getDependsOn()
   */
  private String[] getDependsOn(BeanDefinition beanDefinition) {
    return SpringUtils.defaultIfNull(beanDefinition.getDependsOn(), EMPTY_STRING_ARRAY);
  }
}

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

public static BeanDefinition addDependsOn(BeanDefinition bean, String... beanNames) {
  List<String> dependsOnList = new ArrayList<>();
  Collections.addAll(dependsOnList, nullSafeArray(bean.getDependsOn(), String.class));
  dependsOnList.addAll(Arrays.asList(nullSafeArray(beanNames, String.class)));
  bean.setDependsOn(dependsOnList.toArray(new String[dependsOnList.size()]));
  return bean;
}

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

public static BeanDefinition addDependsOn(BeanDefinition bean, String... beanNames) {
  List<String> dependsOnList = new ArrayList<>();
  Collections.addAll(dependsOnList, nullSafeArray(bean.getDependsOn(), String.class));
  dependsOnList.addAll(Arrays.asList(nullSafeArray(beanNames, String.class)));
  bean.setDependsOn(dependsOnList.toArray(new String[dependsOnList.size()]));
  return bean;
}

代码示例来源:origin: stackoverflow.com

DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory)  context.getBeanFactory();
 String[] beanNames = beanFactory.getBeanDefinitionNames();
 for (String beanName : beanNames) {
   BeanDefinition bd = beanFactory.getBeanDefinition(beanName);
   PropertyValues pvs = bd.getPropertyValues();
   String[]  dependsOn = bd.getDependsOn();
   ...
 }

代码示例来源:origin: Playtika/testcontainers-spring-boot

private void setupDependsOn(ConfigurableListableBeanFactory beanFactory, String dataSourceBeanName) {
  BeanDefinition dataSourceBeanDefinition = beanFactory.getBeanDefinition(dataSourceBeanName);
  List<String> dependsOnExisting = asList(dataSourceBeanDefinition.getDependsOn());
  dependsOnExisting.addAll(asList(dependsOn));
  dataSourceBeanDefinition.setDependsOn(dependsOnExisting.toArray(new String[]{}));
}

代码示例来源:origin: stackoverflow.com

AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config.class);
BeanDefinition bd = ctx.getBeanDefinition("bean");
Assert.assertEquals("doInit", bd.getDependsOn()[0]);

代码示例来源:origin: org.eclipse.gemini.blueprint/gemini-blueprint-core

private void addSyntheticDependsOn(BeanDefinition definition, String beanName) {
  if (StringUtils.hasText(beanName)) {
    String[] dependsOn = definition.getDependsOn();
    if (dependsOn != null && dependsOn.length > 0) {
      for (String dependOn : dependsOn) {
        if (beanName.equals(dependOn)) {
          return;
        }
      }
    }
    // add depends on
    dependsOn = (String[]) ObjectUtils.addObjectToArray(dependsOn, beanName);
    definition.setDependsOn(dependsOn);
    Collection<String> markers = (Collection<String>) definition.getAttribute(SYNTHETIC_DEPENDS_ON);
    if (markers == null) {
      markers = new ArrayList<String>(2);
      definition.setAttribute(SYNTHETIC_DEPENDS_ON, markers);
    }
    markers.add(beanName);
  }
}

代码示例来源:origin: org.bytesoft/bytetcc-supports

BeanDefinition beanDef = beanFactory.getBeanDefinition(beanName);
  String[] array = beanDef.getDependsOn();
  if (array == null || array.length == 0) {
    beanDef.setDependsOn(compensableManagerBeanName);
String[] depandsArray = transactionManagerBeanDef.getDependsOn();
if (depandsArray == null || depandsArray.length == 0) {
  transactionManagerBeanDef.setDependsOn(userCompensableBeanName);

代码示例来源:origin: co.paralleluniverse/galaxy

public static Collection<String> getBeanDependencies(BeanDefinition beanDefinition) {
  Set<String> dependencies = new HashSet<String>();
  if (beanDefinition.getDependsOn() != null)
    dependencies.addAll(Arrays.asList(beanDefinition.getDependsOn()));
  for (ValueHolder value : beanDefinition.getConstructorArgumentValues().getGenericArgumentValues()) {
    if (value.getValue() instanceof BeanReference)
      dependencies.add(((BeanReference) value.getValue()).getBeanName());
  }
  for (ValueHolder value : beanDefinition.getConstructorArgumentValues().getIndexedArgumentValues().values()) {
    if (value.getValue() instanceof BeanReference)
      dependencies.add(((BeanReference) value.getValue()).getBeanName());
  }
  for (PropertyValue value : beanDefinition.getPropertyValues().getPropertyValueList()) {
    if (value.getValue() instanceof BeanReference)
      dependencies.add(((BeanReference) value.getValue()).getBeanName());
  }
  return dependencies;
}

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

@Override
  public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {

    try {
      getBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME, beanFactory);
    } catch (NoSuchBeanDefinitionException o_O) {
      throw new IllegalStateException(
          "Invalid auditing setup! Make sure you've used @EnableJpaAuditing or <jpa:auditing /> correctly!", o_O);
    }

    for (String beanName : getEntityManagerFactoryBeanNames(beanFactory)) {
      BeanDefinition definition = getBeanDefinition(beanName, beanFactory);
      definition.setDependsOn(addStringToArray(definition.getDependsOn(), BEAN_CONFIGURER_ASPECT_BEAN_NAME));
    }
  }
}

代码示例来源:origin: org.zalando.spring/spring-data-jpa-businesskey

public void postProcessBeanFactory(final ConfigurableListableBeanFactory beanFactory) throws BeansException {

    try {
      getBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME, beanFactory);
    } catch (NoSuchBeanDefinitionException o_O) {
      throw new IllegalStateException(
        "Invalid auditing setup! Make sure you've used @EnableJpaAuditing or <jpa:auditing /> correctly!", o_O);
    }

    for (String beanName : getEntityManagerFactoryBeanNames(beanFactory)) {
      BeanDefinition definition = getBeanDefinition(beanName, beanFactory);
      definition.setDependsOn(addStringToArray(definition.getDependsOn(), BEAN_CONFIGURER_ASPECT_BEAN_NAME));
    }

// for (String beanName : beanNamesForTypeIncludingAncestors(beanFactory, BusinessKeyGenerator.class, true, false)) {
// BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
// definition.setLazyInit(true);
// }
  }

代码示例来源:origin: com.alipay.sofa/runtime-sofa-boot-starter

if (beanDefinition.getDependsOn() == null) {
  beanDefinition.setDependsOn(referenceId);
} else {
  String[] added = ObjectUtils.addObjectToArray(beanDefinition.getDependsOn(),
    referenceId);
  beanDefinition.setDependsOn(added);

相关文章

微信公众号

最新文章

更多