当前位置: 首页>>代码示例>>Java>>正文


Java DefaultListableBeanFactory.setDependencyComparator方法代码示例

本文整理汇总了Java中org.springframework.beans.factory.support.DefaultListableBeanFactory.setDependencyComparator方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultListableBeanFactory.setDependencyComparator方法的具体用法?Java DefaultListableBeanFactory.setDependencyComparator怎么用?Java DefaultListableBeanFactory.setDependencyComparator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.beans.factory.support.DefaultListableBeanFactory的用法示例。


在下文中一共展示了DefaultListableBeanFactory.setDependencyComparator方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testConstructorResourceInjectionWithMultipleOrderedCandidates

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testConstructorResourceInjectionWithMultipleOrderedCandidates() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class));
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	FixedOrder2NestedTestBean ntb1 = new FixedOrder2NestedTestBean();
	bf.registerSingleton("nestedTestBean1", ntb1);
	FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean();
	bf.registerSingleton("nestedTestBean2", ntb2);

	ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean");
	assertNull(bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertEquals(2, bean.getNestedTestBeans().length);
	assertSame(ntb2, bean.getNestedTestBeans()[0]);
	assertSame(ntb1, bean.getNestedTestBeans()[1]);
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例2: testConstructorResourceInjectionWithMultipleCandidatesAsOrderedCollection

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testConstructorResourceInjectionWithMultipleCandidatesAsOrderedCollection() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(
			ConstructorsCollectionResourceInjectionBean.class));
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	FixedOrder2NestedTestBean ntb1 = new FixedOrder2NestedTestBean();
	bf.registerSingleton("nestedTestBean1", ntb1);
	FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean();
	bf.registerSingleton("nestedTestBean2", ntb2);

	ConstructorsCollectionResourceInjectionBean bean = (ConstructorsCollectionResourceInjectionBean) bf.getBean("annotatedBean");
	assertNull(bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertEquals(2, bean.getNestedTestBeans().size());
	assertSame(ntb2, bean.getNestedTestBeans().get(0));
	assertSame(ntb1, bean.getNestedTestBeans().get(1));
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:25,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例3: testAutowireBeanByTypeWithIdenticalPriorityCandidates

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testAutowireBeanByTypeWithIdenticalPriorityCandidates() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
	lbf.registerBeanDefinition("test", bd);
	lbf.registerBeanDefinition("spouse", bd2);

	try {
		lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException ex) {
		// expected
		assertNotNull("Exception should have cause", ex.getCause());
		assertEquals("Wrong cause type", NoUniqueBeanDefinitionException.class, ex.getCause().getClass());
		assertTrue(ex.getMessage().contains("5")); // conflicting priority
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:21,代码来源:DefaultListableBeanFactoryTests.java

示例4: testOrderedResourceInjection

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testOrderedResourceInjection() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class));
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	IndexedTestBean itb = new IndexedTestBean();
	bf.registerSingleton("indexedTestBean", itb);
	OrderedNestedTestBean ntb1 = new OrderedNestedTestBean();
	ntb1.setOrder(2);
	bf.registerSingleton("nestedTestBean1", ntb1);
	OrderedNestedTestBean ntb2 = new OrderedNestedTestBean();
	ntb2.setOrder(1);
	bf.registerSingleton("nestedTestBean2", ntb2);

	OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean");
	assertSame(tb, bean.getTestBean());
	assertSame(tb, bean.getTestBean2());
	assertSame(tb, bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertSame(itb, bean.getIndexedTestBean());
	assertEquals(2, bean.getNestedTestBeans().length);
	assertSame(ntb2, bean.getNestedTestBeans()[0]);
	assertSame(ntb1, bean.getNestedTestBeans()[1]);
	assertEquals(2, bean.nestedTestBeansField.length);
	assertSame(ntb2, bean.nestedTestBeansField[0]);
	assertSame(ntb1, bean.nestedTestBeansField[1]);
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:34,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例5: testAnnotationOrderedResourceInjection

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testAnnotationOrderedResourceInjection() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class));
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	IndexedTestBean itb = new IndexedTestBean();
	bf.registerSingleton("indexedTestBean", itb);
	FixedOrder2NestedTestBean ntb1 = new FixedOrder2NestedTestBean();
	bf.registerSingleton("nestedTestBean1", ntb1);
	FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean();
	bf.registerSingleton("nestedTestBean2", ntb2);

	OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean");
	assertSame(tb, bean.getTestBean());
	assertSame(tb, bean.getTestBean2());
	assertSame(tb, bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertSame(itb, bean.getIndexedTestBean());
	assertEquals(2, bean.getNestedTestBeans().length);
	assertSame(ntb2, bean.getNestedTestBeans()[0]);
	assertSame(ntb1, bean.getNestedTestBeans()[1]);
	assertEquals(2, bean.nestedTestBeansField.length);
	assertSame(ntb2, bean.nestedTestBeansField[0]);
	assertSame(ntb1, bean.nestedTestBeansField[1]);
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:32,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例6: testOrderedCollectionResourceInjection

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testOrderedCollectionResourceInjection() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
	rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
	bf.registerBeanDefinition("annotatedBean", rbd);
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	IndexedTestBean itb = new IndexedTestBean();
	bf.registerSingleton("indexedTestBean", itb);
	OrderedNestedTestBean ntb1 = new OrderedNestedTestBean();
	ntb1.setOrder(2);
	bf.registerSingleton("nestedTestBean1", ntb1);
	OrderedNestedTestBean ntb2 = new OrderedNestedTestBean();
	ntb2.setOrder(1);
	bf.registerSingleton("nestedTestBean2", ntb2);

	// Two calls to verify that caching doesn't break re-creation.
	OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean");
	bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean");
	assertSame(tb, bean.getTestBean());
	assertSame(tb, bean.getTestBean2());
	assertSame(tb, bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertSame(itb, bean.getIndexedTestBean());
	assertEquals(2, bean.getNestedTestBeans().size());
	assertSame(ntb2, bean.getNestedTestBeans().get(0));
	assertSame(ntb1, bean.getNestedTestBeans().get(1));
	assertEquals(2, bean.nestedTestBeansSetter.size());
	assertSame(ntb2, bean.nestedTestBeansSetter.get(0));
	assertSame(ntb1, bean.nestedTestBeansSetter.get(1));
	assertEquals(2, bean.nestedTestBeansField.size());
	assertSame(ntb2, bean.nestedTestBeansField.get(0));
	assertSame(ntb1, bean.nestedTestBeansField.get(1));
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:41,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例7: testAnnotationOrderedCollectionResourceInjection

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testAnnotationOrderedCollectionResourceInjection() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	bf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
	bpp.setBeanFactory(bf);
	bf.addBeanPostProcessor(bpp);
	RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class);
	rbd.setScope(RootBeanDefinition.SCOPE_PROTOTYPE);
	bf.registerBeanDefinition("annotatedBean", rbd);
	TestBean tb = new TestBean();
	bf.registerSingleton("testBean", tb);
	IndexedTestBean itb = new IndexedTestBean();
	bf.registerSingleton("indexedTestBean", itb);
	FixedOrder2NestedTestBean ntb1 = new FixedOrder2NestedTestBean();
	bf.registerSingleton("nestedTestBean1", ntb1);
	FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean();
	bf.registerSingleton("nestedTestBean2", ntb2);

	// Two calls to verify that caching doesn't break re-creation.
	OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean");
	bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean");
	assertSame(tb, bean.getTestBean());
	assertSame(tb, bean.getTestBean2());
	assertSame(tb, bean.getTestBean3());
	assertSame(tb, bean.getTestBean4());
	assertSame(itb, bean.getIndexedTestBean());
	assertEquals(2, bean.getNestedTestBeans().size());
	assertSame(ntb2, bean.getNestedTestBeans().get(0));
	assertSame(ntb1, bean.getNestedTestBeans().get(1));
	assertEquals(2, bean.nestedTestBeansSetter.size());
	assertSame(ntb2, bean.nestedTestBeansSetter.get(0));
	assertSame(ntb1, bean.nestedTestBeansSetter.get(1));
	assertEquals(2, bean.nestedTestBeansField.size());
	assertSame(ntb2, bean.nestedTestBeansField.get(0));
	assertSame(ntb1, bean.nestedTestBeansField.get(1));
	bf.destroySingletons();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:39,代码来源:AutowiredAnnotationBeanPostProcessorTests.java

示例8: testGetBeanByTypeWithPriority

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanByTypeWithPriority() throws Exception {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(LowPriorityTestBean.class);
	lbf.registerBeanDefinition("bd1", bd1);
	lbf.registerBeanDefinition("bd2", bd2);
	TestBean bean = lbf.getBean(TestBean.class);
	assertThat(bean.getBeanName(), equalTo("bd1"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:12,代码来源:DefaultListableBeanFactoryTests.java

示例9: testGetBeanByTypeWithMultiplePriority

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanByTypeWithMultiplePriority() throws Exception {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
	lbf.registerBeanDefinition("bd1", bd1);
	lbf.registerBeanDefinition("bd2", bd2);
	thrown.expect(NoUniqueBeanDefinitionException.class);
	thrown.expectMessage(containsString("Multiple beans found with the same priority"));
	thrown.expectMessage(containsString("5")); // conflicting priority
	lbf.getBean(TestBean.class);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:14,代码来源:DefaultListableBeanFactoryTests.java

示例10: testGetBeanByTypeWithPriorityAndNullInstance

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanByTypeWithPriorityAndNullInstance() throws Exception {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(NullTestBeanFactoryBean.class);
	lbf.registerBeanDefinition("bd1", bd1);
	lbf.registerBeanDefinition("bd2", bd2);
	TestBean bean = lbf.getBean(TestBean.class);
	assertThat(bean.getBeanName(), equalTo("bd1"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:12,代码来源:DefaultListableBeanFactoryTests.java

示例11: testGetBeanByTypePrimaryHasPrecedenceOverPriority

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testGetBeanByTypePrimaryHasPrecedenceOverPriority() throws Exception {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd1 = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
	bd2.setPrimary(true);
	lbf.registerBeanDefinition("bd1", bd1);
	lbf.registerBeanDefinition("bd2", bd2);
	TestBean bean = lbf.getBean(TestBean.class);
	assertThat(bean.getBeanName(), equalTo("bd2"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:13,代码来源:DefaultListableBeanFactoryTests.java

示例12: testAutowireBeanByTypeWithTwoMatchesAndPriority

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testAutowireBeanByTypeWithTwoMatchesAndPriority() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(LowPriorityTestBean.class);
	lbf.registerBeanDefinition("test", bd);
	lbf.registerBeanDefinition("spouse", bd2);

	DependenciesBean bean = (DependenciesBean)
			lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
	assertThat(bean.getSpouse(), equalTo(lbf.getBean("test")));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:14,代码来源:DefaultListableBeanFactoryTests.java

示例13: testAutowireBeanByTypePrimaryTakesPrecedenceOverPriority

import org.springframework.beans.factory.support.DefaultListableBeanFactory; //导入方法依赖的package包/类
@Test
public void testAutowireBeanByTypePrimaryTakesPrecedenceOverPriority() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	lbf.setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE);
	RootBeanDefinition bd = new RootBeanDefinition(HighPriorityTestBean.class);
	RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
	bd2.setPrimary(true);
	lbf.registerBeanDefinition("test", bd);
	lbf.registerBeanDefinition("spouse", bd2);

	DependenciesBean bean = (DependenciesBean)
			lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
	assertThat(bean.getSpouse(), equalTo(lbf.getBean("spouse")));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:15,代码来源:DefaultListableBeanFactoryTests.java


注:本文中的org.springframework.beans.factory.support.DefaultListableBeanFactory.setDependencyComparator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。