Package org.springframework.beans.factory.support

Examples of org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyProviderFactory


    assertTrue(Arrays.asList(names).contains("externalFactoryMethodWithoutArgs"));
    assertTrue(Arrays.asList(names).contains("externalFactoryMethodWithArgs"));
  }

  public void testInstanceFactoryMethodWithoutArgs() {
    DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
    reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));

    InstanceFactory.count = 0;
    xbf.preInstantiateSingletons();
    assertEquals(1, InstanceFactory.count);
    FactoryMethods fm = (FactoryMethods) xbf.getBean("instanceFactoryMethodWithoutArgs");
    assertEquals("instanceFactory", fm.getTestBean().getName());
    assertEquals(1, InstanceFactory.count);
    FactoryMethods fm2 = (FactoryMethods) xbf.getBean("instanceFactoryMethodWithoutArgs");
    assertEquals("instanceFactory", fm2.getTestBean().getName());
    assertSame(fm2, fm);
    assertEquals(1, InstanceFactory.count);
  }
View Full Code Here


    (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, "test");
    assertTrue("No beans defined after harmless ignorable rubbish", lbf.getBeanDefinitionCount() == 0);
  }

  public void testPropertiesPopulationWithNullPrefix() {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    Properties p = new Properties();
    p.setProperty("test.(class)", "org.springframework.beans.TestBean");
    p.setProperty("test.name", "Tony");
    p.setProperty("test.age", "48");
    int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
View Full Code Here

    assertSame(fm2, fm);
    assertEquals(1, InstanceFactory.count);
  }

  public void testFactoryMethodNoMatchingStaticMethod() {
    DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
    reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));
    try {
      xbf.getBean("noMatchPrototype");
      fail("No static method matched");
    }
    catch (BeanCreationException ex) {
      // Ok
    }
View Full Code Here

    testSingleTestBean(lbf);
  }

  public void testPropertiesPopulationWithPrefix() {
    String PREFIX = "beans.";
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    Properties p = new Properties();
    p.setProperty(PREFIX + "test.(class)", "org.springframework.beans.TestBean");
    p.setProperty(PREFIX + "test.name", "Tony");
    p.setProperty(PREFIX + "test.age", "0x30");
    int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, PREFIX);
View Full Code Here

    testSingleTestBean(lbf);
  }

  public void testSimpleReference() {
    String PREFIX = "beans.";
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    Properties p = new Properties();

    p.setProperty(PREFIX + "rod.(class)", "org.springframework.beans.TestBean");
    p.setProperty(PREFIX + "rod.name", "Rod");

    p.setProperty(PREFIX + "kerry.(class)", "org.springframework.beans.TestBean");
    p.setProperty(PREFIX + "kerry.name", "Kerry");
    p.setProperty(PREFIX + "kerry.age", "35");
    p.setProperty(PREFIX + "kerry.spouse(ref)", "rod");

    int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, PREFIX);
    assertTrue("2 beans registered, not " + count, count == 2);

    TestBean kerry = (TestBean) lbf.getBean("kerry", TestBean.class);
    assertTrue("Kerry name is Kerry", "Kerry".equals(kerry.getName()));
    ITestBean spouse = kerry.getSpouse();
    assertTrue("Kerry spouse is non null", spouse != null);
    assertTrue("Kerry spouse name is Rod", "Rod".equals(spouse.getName()));
  }
View Full Code Here

      // Ok
    }
  }

  public void testCanSpecifyFactoryMethodArgumentsOnFactoryMethodPrototype() {
    DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
    reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));
    TestBean tbArg = new TestBean();
    tbArg.setName("arg1");
    TestBean tbArg2 = new TestBean();
    tbArg2.setName("arg2");

    FactoryMethods fm1 = (FactoryMethods) xbf.getBean("testBeanOnlyPrototype", new Object[] {tbArg});
    assertEquals(0, fm1.getNum());
    assertEquals("default", fm1.getName());
    // This comes from the test bean
    assertEquals("arg1", fm1.getTestBean().getName());

    FactoryMethods fm2 = (FactoryMethods) xbf.getBean("testBeanOnlyPrototype", new Object[] {tbArg2});
    assertEquals("arg2", fm2.getTestBean().getName());
    assertEquals(fm1.getNum(), fm2.getNum());
    assertEquals(fm2.getStringValue(), "testBeanOnlyPrototypeDISetterString");
    assertEquals(fm2.getStringValue(), fm2.getStringValue());
    // The TestBean reference is resolved to a prototype in the factory
    assertSame(fm2.getTestBean(), fm2.getTestBean());
    assertNotSame(fm1, fm2);

    FactoryMethods fm3 = (FactoryMethods) xbf.getBean("testBeanOnlyPrototype", new Object[] {tbArg2, new Integer(1), "myName"});
    assertEquals(1, fm3.getNum());
    assertEquals("myName", fm3.getName());
    assertEquals("arg2", fm3.getTestBean().getName());

    FactoryMethods fm4 = (FactoryMethods) xbf.getBean("testBeanOnlyPrototype", new Object[] {tbArg});
    assertEquals(0, fm4.getNum());
    assertEquals("default", fm4.getName());
    assertEquals("arg1", fm4.getTestBean().getName());
  }
View Full Code Here

    assertTrue("Kerry spouse is non null", spouse != null);
    assertTrue("Kerry spouse name is Rod", "Rod".equals(spouse.getName()));
  }

  public void testPropertiesWithDotsInKey() {
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    Properties p = new Properties();

    p.setProperty("tb.(class)", "org.springframework.beans.TestBean");
    p.setProperty("tb.someMap[my.key]", "my.value");

    int count = (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p);
    assertTrue("1 beans registered, not " + count, count == 1);
    assertEquals(1, lbf.getBeanDefinitionCount());

    TestBean tb = (TestBean) lbf.getBean("tb", TestBean.class);
    assertEquals("my.value", tb.getSomeMap().get("my.key"));
  }
View Full Code Here

    assertEquals("default", fm4.getName());
    assertEquals("arg1", fm4.getTestBean().getName());
  }

  public void testCannotSpecifyFactoryMethodArgumentsOnSingleton() {
    DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
    reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));
    try {
      xbf.getBean("testBeanOnly", new Object[] {new TestBean()});
      fail("Shouldn't allow args to be passed to a singleton");
    }
    catch (BeanDefinitionStoreException ex) {
      // OK
    }
View Full Code Here

      // OK
    }
  }

  public void testCannotSpecifyFactoryMethodArgumentsOnSingletonAfterCreation() {
    DefaultListableBeanFactory xbf = new DefaultListableBeanFactory();
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf);
    reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass()));
    xbf.getBean("testBeanOnly");
    try {
      xbf.getBean("testBeanOnly", new Object[] {new TestBean()});
      fail("Shouldn't allow args to be passed to a singleton");
    }
    catch (BeanDefinitionStoreException ex) {
      // OK
    }
View Full Code Here

    assertEquals("my.value", tb.getSomeMap().get("my.key"));
  }

  public void testUnresolvedReference() {
    String PREFIX = "beans.";
    DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
    Properties p = new Properties();

    try {
      p.setProperty(PREFIX + "kerry.(class)", "org.springframework.beans.TestBean");
      p.setProperty(PREFIX + "kerry.name", "Kerry");
      p.setProperty(PREFIX + "kerry.age", "35");
      p.setProperty(PREFIX + "kerry.spouse(ref)", "rod");

      (new PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, PREFIX);

      lbf.getBean("kerry");
      fail("Unresolved reference should have been detected");
    }
    catch (BeansException ex) {
      // cool
    }
View Full Code Here

TOP

Related Classes of org.springframework.beans.factory.support.DefaultListableBeanFactory$DependencyProviderFactory

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.