@Test public void testAutowireByConstructorWithSimpleValues() throws Exception { DefaultListableBeanFactory xbf = new DefaultListableBeanFactory(); new XmlBeanDefinitionReader(xbf).loadBeanDefinitions(CONSTRUCTOR_ARG_CONTEXT); ConstructorDependenciesBean rod5 = (ConstructorDependenciesBean) xbf.getBean("rod5"); TestBean kerry1 = (TestBean) xbf.getBean("kerry1"); TestBean kerry2 = (TestBean) xbf.getBean("kerry2"); IndexedTestBean other = (IndexedTestBean) xbf.getBean("other"); // should have been autowired assertEquals(kerry2, rod5.getSpouse1()); assertEquals(kerry1, rod5.getSpouse2()); assertEquals(other, rod5.getOther()); assertEquals(99, rod5.getAge()); assertEquals("myname", rod5.getName()); DerivedConstructorDependenciesBean rod6 = (DerivedConstructorDependenciesBean) xbf.getBean("rod6"); // should have been autowired assertTrue(rod6.initialized); assertTrue(!rod6.destroyed); assertEquals(kerry2, rod6.getSpouse1()); assertEquals(kerry1, rod6.getSpouse2()); assertEquals(other, rod6.getOther()); assertEquals(0, rod6.getAge()); assertEquals(null, rod6.getName()); xbf.destroySingletons(); assertTrue(rod6.destroyed); }