本文整理了Java中org.springframework.beans.factory.config.BeanDefinition.getDependsOn()
方法的一些代码示例,展示了BeanDefinition.getDependsOn()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanDefinition.getDependsOn()
方法的具体详情如下:
包路径:org.springframework.beans.factory.config.BeanDefinition
类名称: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);
内容来源于网络,如有侵权,请联系作者删除!