org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBeanProperties ( )源码实例Demo

下面列出了org.springframework.beans.factory.support.DefaultListableBeanFactory#autowireBeanProperties ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Test
public void testAutowireExistingBeanByName() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spouse", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
	TestBean spouse = (TestBean) lbf.getBean("spouse");
	assertEquals(existingBean.getSpouse(), spouse);
	assertSame(spouse, BeanFactoryUtils.beanOfType(lbf, TestBean.class));
}
 
@Test
public void testAutowireExistingBeanByNameWithDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	try {
		lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException ex) {
		// expected
	}
}
 
@Test
public void testAutowireExistingBeanByNameWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
	assertNull(existingBean.getSpouse());
}
 
@Test
public void testAutowireExistingBeanByType() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("test", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
	TestBean test = (TestBean) lbf.getBean("test");
	assertEquals(existingBean.getSpouse(), test);
}
 
@Test
public void testAutowireExistingBeanByTypeWithDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	DependenciesBean existingBean = new DependenciesBean();
	try {
		lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException expected) {
	}
}
 
@Test
public void testAutowireExistingBeanByTypeWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
	assertNull(existingBean.getSpouse());
}
 
@Test
public void testInvalidAutowireMode() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	try {
		lbf.autowireBeanProperties(new TestBean(), AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false);
		fail("Should have thrown IllegalArgumentException");
	}
	catch (IllegalArgumentException expected) {
	}
}
 
@Test
public void testAutowireExistingBeanByName() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spouse", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
	TestBean spouse = (TestBean) lbf.getBean("spouse");
	assertEquals(existingBean.getSpouse(), spouse);
	assertSame(spouse, BeanFactoryUtils.beanOfType(lbf, TestBean.class));
}
 
@Test
public void testAutowireExistingBeanByNameWithDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	try {
		lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException ex) {
		// expected
	}
}
 
@Test
public void testAutowireExistingBeanByNameWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
	assertNull(existingBean.getSpouse());
}
 
@Test
public void testAutowireExistingBeanByType() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("test", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
	TestBean test = (TestBean) lbf.getBean("test");
	assertEquals(existingBean.getSpouse(), test);
}
 
@Test
public void testAutowireExistingBeanByTypeWithDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	DependenciesBean existingBean = new DependenciesBean();
	try {
		lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException expected) {
	}
}
 
@Test
public void testAutowireExistingBeanByTypeWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
	assertNull(existingBean.getSpouse());
}
 
@Test
public void testInvalidAutowireMode() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	try {
		lbf.autowireBeanProperties(new TestBean(), AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false);
		fail("Should have thrown IllegalArgumentException");
	}
	catch (IllegalArgumentException expected) {
	}
}
 
@Test
public void testAutowireExistingBeanByName() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spouse", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
	TestBean spouse = (TestBean) lbf.getBean("spouse");
	assertEquals(existingBean.getSpouse(), spouse);
	assertSame(spouse, BeanFactoryUtils.beanOfType(lbf, TestBean.class));
}
 
@Test
public void testAutowireExistingBeanByNameWithDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	try {
		lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, true);
		fail("Should have thrown UnsatisfiedDependencyException");
	}
	catch (UnsatisfiedDependencyException ex) {
		// expected
	}
}
 
@Test
public void testAutowireExistingBeanByNameWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("spous", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
	assertNull(existingBean.getSpouse());
}
 
@Test
public void testAutowireExistingBeanByType() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	RootBeanDefinition bd = new RootBeanDefinition(TestBean.class);
	lbf.registerBeanDefinition("test", bd);
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);
	TestBean test = (TestBean) lbf.getBean("test");
	assertEquals(existingBean.getSpouse(), test);
}
 
@Test
public void testInvalidAutowireMode() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	try {
		lbf.autowireBeanProperties(new TestBean(), AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false);
		fail("Should have thrown IllegalArgumentException");
	}
	catch (IllegalArgumentException expected) {
	}
}
 
@Test
public void testAutowireExistingBeanByTypeWithNoDependencyCheck() {
	DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
	DependenciesBean existingBean = new DependenciesBean();
	lbf.autowireBeanProperties(existingBean, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
	assertNull(existingBean.getSpouse());
}