Examples of FactoryBean


Examples of org.springframework.beans.factory.FactoryBean

      if (bd.isSingleton()) {
        if (isBeanClassMatch(beanName, bd, FactoryBean.class)) {
          if (BeanFactoryUtils.isFactoryDereference(name)) {
            return true;
          }
          FactoryBean factoryBean = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
          return factoryBean.isSingleton();
        }
        else {
          return !BeanFactoryUtils.isFactoryDereference(name);
        }
      }

Examples of org.springframework.beans.factory.FactoryBean

    }
    else {
      // Singleton or scoped - not a prototype.
      // However, FactoryBean may still produce a prototype object...
      if (!BeanFactoryUtils.isFactoryDereference(name) && isBeanClassMatch(beanName, bd, FactoryBean.class)) {
        FactoryBean factoryBean = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
        return ((factoryBean instanceof SmartFactoryBean && ((SmartFactoryBean) factoryBean).isPrototype()) ||
            !factoryBean.isSingleton());
      }
      else {
        return false;
      }
    }

Examples of org.springframework.beans.factory.FactoryBean

  protected Class getTypeForFactoryBean(String beanName, RootBeanDefinition mbd) {
    if (!mbd.isSingleton()) {
      return null;
    }
    try {
      FactoryBean factoryBean = (FactoryBean) getBean(FACTORY_BEAN_PREFIX + beanName);
      return getTypeForFactoryBean(factoryBean);
    }
    catch (BeanCreationException ex) {
      // Can only happen when getting a FactoryBean.
      if (ex.contains(BeanCurrentlyInCreationException.class)) {

Examples of org.springframework.beans.factory.FactoryBean

    // If it's a FactoryBean, we use it to create a bean instance, unless the
    // caller actually wants a reference to the factory.
    if (beanInstance instanceof FactoryBean) {
      if (!BeanFactoryUtils.isFactoryDereference(name)) {
        // Return bean instance from factory.
        FactoryBean factory = (FactoryBean) beanInstance;
        String beanName = transformedBeanName(name);
        // Cache object obtained from FactoryBean if it is a singleton.
        if (shared && factory.isSingleton()) {
          synchronized (getSingletonMutex()) {
            object = this.factoryBeanObjectCache.get(beanName);
            if (object == null) {
              object = getObjectFromFactoryBean(factory, beanName, mbd);
              this.factoryBeanObjectCache.put(beanName, object);

Examples of org.springframework.beans.factory.FactoryBean

      // Is bean a FactoryBean?
      if (beanInstance instanceof FactoryBean && !isFactoryType) {
        if (includeFactoryBeans) {
          // Match object created by FactoryBean.
          FactoryBean factory = (FactoryBean) beanInstance;
          Class objectType = factory.getObjectType();
          if ((includePrototypes || factory.isSingleton()) &&
              objectType != null && type.isAssignableFrom(objectType)) {
            matches.put(beanName, getBean(beanName));
          }
        }
      }

Examples of org.springframework.beans.factory.FactoryBean

  public void testMatchingFactoryBeanObject() {
    assertTrue("Matching bean must be advised (proxied)", this.testFactoryBean1 instanceof Advised);
    assertEquals("myValue", this.testFactoryBean1.get("myKey"));
    assertEquals("myValue", this.testFactoryBean1.get("myKey"));
    assertEquals("Advice not executed: must have been", 2, this.counterAspect.getCount());
    FactoryBean fb = (FactoryBean) getApplicationContext().getBean("&testFactoryBean1");
    assertTrue("FactoryBean itself must *not* be advised", !(fb instanceof Advised));
  }

Examples of org.springframework.beans.factory.FactoryBean

    assertTrue("FactoryBean itself must *not* be advised", !(fb instanceof Advised));
  }

  public void testMatchingFactoryBeanItself() {
    assertTrue("Matching bean must *not* be advised (proxied)", !(this.testFactoryBean2 instanceof Advised));
    FactoryBean fb = (FactoryBean) getApplicationContext().getBean("&testFactoryBean2");
    assertTrue("FactoryBean itself must be advised", fb instanceof Advised);
    assertTrue(Map.class.isAssignableFrom(fb.getObjectType()));
    assertTrue(Map.class.isAssignableFrom(fb.getObjectType()));
    assertEquals("Advice not executed: must have been", 2, this.counterAspect.getCount());
  }

Examples of org.springframework.beans.factory.FactoryBean

    TestInterceptor ti = (TestInterceptor) sac.getBean("testInterceptor");
    assertEquals(0, ti.nrOfInvocations);
    singletonToBeProxied.getName();
    assertEquals(1, ti.nrOfInvocations);

    FactoryBean factory = (FactoryBean) sac.getBean("&singletonFactoryToBeProxied");
    assertTrue(Proxy.isProxyClass(factory.getClass()));
    TestBean tb = (TestBean) sac.getBean("singletonFactoryToBeProxied");
    assertFalse(AopUtils.isAopProxy(tb));
    assertEquals(3, ti.nrOfInvocations);
    tb.getAge();
    assertEquals(3, ti.nrOfInvocations);

Examples of org.springframework.beans.factory.FactoryBean

    sac.refresh();

    TestAutoProxyCreator tapc = (TestAutoProxyCreator) sac.getBean("testAutoProxyCreator");
    tapc.testInterceptor.nrOfInvocations = 0;

    FactoryBean factory = (FactoryBean) sac.getBean("&singletonFactoryToBeProxied");
    assertTrue(AopUtils.isCglibProxy(factory));

    TestBean tb = (TestBean) sac.getBean("singletonFactoryToBeProxied");
    assertTrue(AopUtils.isCglibProxy(tb));
    assertEquals(2, tapc.testInterceptor.nrOfInvocations);

Examples of org.springframework.beans.factory.FactoryBean

    sac.refresh();

    TestAutoProxyCreator tapc = (TestAutoProxyCreator) sac.getBean("testAutoProxyCreator");
    tapc.testInterceptor.nrOfInvocations = 0;

    FactoryBean prototypeFactory = (FactoryBean) sac.getBean("&prototypeFactoryToBeProxied");
    assertTrue(AopUtils.isCglibProxy(prototypeFactory));
    TestBean tb = (TestBean) sac.getBean("prototypeFactoryToBeProxied");
    assertTrue(AopUtils.isCglibProxy(tb));

    assertEquals(2, tapc.testInterceptor.nrOfInvocations);
TOP
Copyright © 2018 www.massapi.com. 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.