Package org.springframework.aop.target

Examples of org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource


  //---------------------------------------------------------------------
  // Implementation of the TargetSourceCreator interface
  //---------------------------------------------------------------------

  public final TargetSource getTargetSource(Class beanClass, String beanName) {
    AbstractBeanFactoryBasedTargetSource targetSource =
        createBeanFactoryBasedTargetSource(beanClass, beanName);
    if (targetSource == null) {
      return null;
    }

    if (logger.isDebugEnabled()) {
      logger.debug("Configuring AbstractBeanFactoryBasedTargetSource: " + targetSource);
    }

    DefaultListableBeanFactory internalBeanFactory = getInternalBeanFactoryForBean(beanName);

    // We need to override just this bean definition, as it may reference other beans
    // and we're happy to take the parent's definition for those.
    // Always use prototype scope if demanded.
    BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName);
    GenericBeanDefinition bdCopy = new GenericBeanDefinition(bd);
    if (isPrototypeBased()) {
      bdCopy.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    }
    internalBeanFactory.registerBeanDefinition(beanName, bdCopy);

    // Complete configuring the PrototypeTargetSource.
    targetSource.setTargetBeanName(beanName);
    targetSource.setBeanFactory(internalBeanFactory);

    return targetSource;
  }
View Full Code Here


  //---------------------------------------------------------------------
  // Implementation of the TargetSourceCreator interface
  //---------------------------------------------------------------------

  public final TargetSource getTargetSource(Class<?> beanClass, String beanName) {
    AbstractBeanFactoryBasedTargetSource targetSource =
        createBeanFactoryBasedTargetSource(beanClass, beanName);
    if (targetSource == null) {
      return null;
    }

    if (logger.isDebugEnabled()) {
      logger.debug("Configuring AbstractBeanFactoryBasedTargetSource: " + targetSource);
    }

    DefaultListableBeanFactory internalBeanFactory = getInternalBeanFactoryForBean(beanName);

    // We need to override just this bean definition, as it may reference other beans
    // and we're happy to take the parent's definition for those.
    // Always use prototype scope if demanded.
    BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName);
    GenericBeanDefinition bdCopy = new GenericBeanDefinition(bd);
    if (isPrototypeBased()) {
      bdCopy.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    }
    internalBeanFactory.registerBeanDefinition(beanName, bdCopy);

    // Complete configuring the PrototypeTargetSource.
    targetSource.setTargetBeanName(beanName);
    targetSource.setBeanFactory(internalBeanFactory);

    return targetSource;
  }
View Full Code Here

    this.internalBeanFactory.destroySingletons();
  }


  public final TargetSource getTargetSource(Class beanClass, String beanName) {
    AbstractBeanFactoryBasedTargetSource targetSource =
        createBeanFactoryBasedTargetSource(beanClass, beanName);
    if (targetSource == null) {
      return null;
    }

    if (logger.isDebugEnabled()) {
      logger.debug("Configuring AbstractBeanFactoryBasedTargetSource: " + targetSource);
    }

    // We need to override just this bean definition, as it may reference other beans
    // and we're happy to take the parent's definition for those.
    // Always use prototype scope if demanded.
    BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName);
    GenericBeanDefinition bdCopy = new GenericBeanDefinition(bd);
    if (isPrototypeBased()) {
      bdCopy.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    }
    this.internalBeanFactory.registerBeanDefinition(beanName, bdCopy);

    // Complete configuring the PrototypeTargetSource.
    targetSource.setTargetBeanName(beanName);
    targetSource.setBeanFactory(this.internalBeanFactory);

    return targetSource;
  }
View Full Code Here

    this.internalBeanFactory.destroySingletons();
  }


  public final TargetSource getTargetSource(Class beanClass, String beanName) {
    AbstractBeanFactoryBasedTargetSource targetSource =
        createBeanFactoryBasedTargetSource(beanClass, beanName);
    if (targetSource == null) {
      return null;
    }

    if (logger.isDebugEnabled()) {
      logger.debug("Configuring AbstractBeanFactoryBasedTargetSource: " + targetSource);
    }

    // We need to override just this bean definition, as it may reference other beans
    // and we're happy to take the parent's definition for those.
    // Always use a prototype.
    RootBeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName);
    RootBeanDefinition bdCopy = new RootBeanDefinition(bd);
    bdCopy.setSingleton(!isPrototypeBased());
    this.internalBeanFactory.registerBeanDefinition(beanName, bdCopy);

    // Complete configuring the PrototypeTargetSource.
    targetSource.setTargetBeanName(beanName);
    targetSource.setBeanFactory(this.internalBeanFactory);

    return targetSource;
  }
View Full Code Here

TOP

Related Classes of org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource

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.